LeetCode OJ-- Recover Binary Search Tree ***@
2014-07-27 15:34
459 查看
https://oj.leetcode.com/problems/recover-binary-search-tree/
一棵二叉搜索树,二叉搜索树的特征是,中根遍历的话,得到的序列是递增的
题目中,有两个节点弄混了,让恢复这个二叉搜索树
一棵二叉搜索树,二叉搜索树的特征是,中根遍历的话,得到的序列是递增的
题目中,有两个节点弄混了,让恢复这个二叉搜索树
class Solution { public: TreeNode *LastNode = new TreeNode(INT_MIN); void recoverTree(TreeNode *root) { if(root == NULL) return; TreeNode **n1 = (TreeNode**)malloc(sizeof(TreeNode*)); TreeNode **n2 = (TreeNode**)malloc(sizeof(TreeNode*)); *n1 = NULL; *n2 = NULL; find(root,n1,n2); //swap int temp; temp = (*n1)->val; (*n1)->val = (*n2)->val; (*n2)->val = temp; } //中根遍历 void find(TreeNode *root, TreeNode **n1, TreeNode **n2) { if(root == NULL) return; find(root->left,n1,n2); //分别处理了是 2 1 还是,3 2 1 的情况,高! if(*n1 == NULL && root->val < LastNode->val) { *n1 = LastNode; } if(*n1 != NULL && root->val < LastNode->val) { *n2 = root; } LastNode = root; find(root->right,n1,n2); } };
相关文章推荐
- LeetCode OJ - Recover Binary Search Tree
- LeetCode OJ - Recover Binary Search Tree
- LeetCode OJ:Recover Binary Search Tree
- LeetCode OJ 之 Recover Binary Search Tree(恢复二叉搜索树)
- 【LeetCode OJ】Recover Binary Search Tree
- LeetCode OJ - Recover Binary Search Tree
- [Leetcode]Recover Binary Search Tree
- Recover Binary Search Tree
- leetcode:Recover Binary Search Tree (修正二叉查找树错误节点,不改变结构)【面试算法题】
- LeetCode OJ - Validate Binary Search Tree
- leetcode: Recover Binary Search Tree
- Recover Binary Search Tree:使用常数空间复原二叉搜索树
- Recover Binary Search Tree BST找乱序的两个元素 @LeetCode
- Recover Binary Search Tree
- LeetCode(99) Recover Binary Search Tree
- LeetCode详细分析 :: Recover Binary Search Tree [Tree]
- LeetCode 之 Recover Binary Search Tree
- [Leetcode][JAVA] Recover Binary Search Tree (Morris Inorder Traversal)
- 99. Recover Binary Search Tree
- 【LeetCode 99】Recover Binary Search Tree