leetcode-Recover Binary Search Tree
来源:互联网 发布:时序数据挖掘 编辑:程序博客网 时间:2024/06/03 19:24
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?
/** * 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 FindTwo(TreeNode *node, int &temp1, int &temp2, TreeNode* &prenode, TreeNode* &node1, TreeNode* &node2) { if(node == NULL)return; FindTwo(node->left, temp1, temp2, prenode, node1, node2); if(prenode == NULL) { temp1 = node->val; temp2 = node->val; } else { temp1 = temp2; temp2 = node->val; if(temp1 > temp2) { if(node1 == NULL)node1 = prenode; node2 = node; } } prenode = node; FindTwo(node->right, temp1, temp2, prenode, node1, node2); } void recoverTree(TreeNode *root) { if(root == NULL) return; int temp1; int temp2; TreeNode *preNode = NULL; TreeNode *node1 = NULL; TreeNode *node2 = NULL; FindTwo(root, temp1, temp2, preNode, node1, node2); int temp = node1->val; node1->val = node2->val; node2->val = temp; return; }};
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
- java string和集合
- ibatis查询的两种映射方式
- 沃尔玛电商“迷途”:与1号店协同之难
- HDU 5029 - Relief grain (树链剖分 很巧妙的离线标记法)
- java对象
- leetcode-Recover Binary Search Tree
- UVALive 6179 Windmill Animation 规律题
- {转官网}ROS-Hydro安装
- JavaIO模型
- java 面向对象一
- 【产品经理】App应用产品法则
- ******二维数组&指针的指针******
- UVALive 6181 Mystery (水
- struts中OGNL表达式