[leetcode]99 Recover Binary Search Tree
来源:互联网 发布:413是什么意思网络语言 编辑:程序博客网 时间:2024/05/14 06:31
问题描述:
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; }
0 0
- LeetCode 99: Recover Binary Search Tree
- LeetCode(99)Recover Binary Search Tree
- LeetCode 99 Recover Binary Search Tree
- LeetCode(99) Recover Binary Search Tree
- [leetcode 99] Recover Binary Search Tree
- [leetcode]99 Recover Binary Search Tree
- leetcode || 99、Recover Binary Search Tree
- 【LeetCode #99】Recover Binary Search Tree
- leetcode 99: Recover Binary Search Tree
- [leetcode-99]Recover Binary Search Tree(java)
- leetCode 99: Recover Binary Search Tree
- LeetCode(99) Recover Binary Search Tree
- LeetCode 99: Recover Binary Search Tree
- LeetCode 99:Recover Binary Search Tree
- (leetcode 99) Recover Binary Search Tree
- leetcode 99 Recover Binary Search Tree (python)
- LeetCode #99: Recover Binary Search Tree
- Leetcode 99 Recover Binary Search Tree
- Android增加service和对应的AIDL
- jsf form使用的注意点byte和Image的转化
- strtok 与 strsep 函数说明(转)
- 位运算
- POJ1384 动态规划 (完全背包)
- [leetcode]99 Recover Binary Search Tree
- LeetCode--Find Minimum in Rotated Sorted Array II
- GTK入门学习:布局容器之固定布局
- Hadoop中的KeyValueInputFormat
- Factorial Trailing Zeroes
- 防反编译之SMC(自修改代码)
- 最大流问题
- ceph存储 FC HBA、iSCSI HBA、以太网卡3者区别
- 在TOMCAT中部署war