软件世界网 购物 网址 三丰软件 | 小说 美女秀 图库大全 游戏 笑话 | 下载 开发知识库 新闻 开发 图片素材
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
移动开发 架构设计 编程语言 Web前端 互联网
开发杂谈 系统运维 研发管理 数据库 云计算 Android开发资料
  软件世界网 -> 互联网 -> [leetcode]99RecoverBinarySearchTree -> 正文阅读
互联网 最新文章
C++11并发API总结
16.收款(AcceptingMoney)
数据链路层综述
IP协议及IP数据报解析
《浅谈HTTP协议》
计算机网络基础
LoadRunner和RPT之间关于手动关联和参数化的
HTTPS中的对称密钥加密,公开密钥加密,数字
上班需要打卡吗?(开通微信公众号--乘着风
ofbizjmsactivemq

[互联网][leetcode]99RecoverBinarySearchTree

  2015-01-17 11:11:11

问题描述:


Two elements of a binary search tree (BST) are swapped by mistake.
Recover the tree without changing its structure.
Note:
A solution using O(n) space is pretty straight forward. Could you devise a constant space solution?

代码:


void recoverTree(TreeNode *root) {
        if(root ==NULL)
            return;
        
        bool haveOne = false;
        bool isFirst = true;
        
        TreeNode *pre = root;
        TreeNode* p = root;
        vector<TreeNode*> melement(2);
        stack<TreeNode* > myStack;
        
        while(p!=NULL || !myStack.empty())
        {
            while(p!=NULL){
                myStack.push(p);
                p = p->left;
            }
            
            p = myStack.top();
            if(isFirst){
                isFirst = false;
                pre = p;
            }
            else {
                if(p->val < pre->val){
                    if(!haveOne){
                        melement[0] = pre;
                        melement[1] = p;
                        haveOne = true;   
                    }
                    else{
                        melement[1] = p;
                        break;
                    }
                }
                pre = p;
            }
            myStack.pop();
            p = p->right;
            
        }
        int temp = melement[0]->val;
        melement[0]->val = melement[1]->val;
        melement[1]->val = temp;
        return;
        
    }

上一篇文章      下一篇文章      查看所有文章
2015-01-17 11:09:12  
360图书馆 论文大全 母婴/育儿 软件开发资料 网页快照 文字转语音 购物精选 软件 美食菜谱 新闻中心 电影下载 小游戏 Chinese Culture
生肖星座解梦 三沣玩客 拍拍 视频 开发 Android开发 站长 古典小说 网文精选 搜图网 天下美图 中国文化英文 多播视频 装修知识库
2017-2-23 12:46:00
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  软件世界网 --