LeetCode--Recover Binary Search Tree
来源:互联网 发布:java是什么 编辑:程序博客网 时间:2024/06/15 06:22
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?
confused what "{1,#,2,3}"
means? > read more on how binary tree is serialized on OJ.
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: void recoverTree(TreeNode *root) { if(root == NULL)return; vector<TreeNode*> res;pre_search(root,res);if(res.size() == 1)return;bool flag = false;vector<int> temp;for(int i=1; i<res.size(); i++){if(res[i]->val <= res[i-1]->val){if(flag == false){temp.push_back(i-1);flag = true;}else{temp.push_back(i);flag = false;}}}int n = temp.size();if(n == 1){int pre = temp[0];int t = res[pre]->val;res[pre]->val = res[pre+1]->val;res[pre+1]->val = t;}else{int pre = temp[0];int end = temp[1];int t = res[pre]->val;res[pre]->val = res[end]->val;res[end]->val = t;}return ; }void pre_search(TreeNode* root, vector<TreeNode*>& res){if(root == NULL)return;pre_search(root->left,res);res.push_back(root);pre_search(root->right,res);}};
0 0
- LeetCode: Recover Binary Search Tree
- LeetCode: Recover Binary Search Tree
- [Leetcode] Recover Binary Search Tree
- [LeetCode] Recover Binary Search Tree
- [Leetcode] Recover Binary Search Tree
- [leetcode] recover binary search tree
- LeetCode -- Recover Binary Search Tree
- [LeetCode]Recover Binary Search Tree
- [LeetCode] Recover Binary Search Tree
- LeetCode:Recover Binary Search Tree
- [Leetcode]Recover Binary Search Tree
- Leetcode: Recover Binary Search Tree
- LeetCode-Recover Binary Search Tree
- [leetcode] Recover Binary Search Tree
- [LeetCode] Recover Binary Search Tree
- 【Leetcode】Recover Binary Search Tree
- Leetcode Recover Binary Search Tree
- LeetCode | Recover Binary Search Tree
- 教你轻松安装Adobe Acrobat XI Pro(编辑PDF使用的)
- [Elasticsearch] 聚合作用域(Scoping Aggregations)
- JPEG图像压缩算法流程详解(转)
- ubuntu下找不到openssl/ssl.h
- [math][第二阶段-easy math][HDU-2136]Largest prime factor
- LeetCode--Recover Binary Search Tree
- hdu 2035 人见人爱A^B
- CentOS6.5系统下安装Apache2.4+PHP5.6+Mysql5.5 (LAMP)
- 仙剑奇侠传开源项目 sdlpal
- 【Leetcode】Spiral Matrix 一 和 二 in JAVA
- hashtable HashMap相关问题
- Redis对对象的操作
- Activiti学习入门(5) -- 学习完成指定的任务
- 无题