leetcode Recover Binary Search Tree
2013-05-24 14:28
344 查看
好方法!
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: TreeNode *p,*q; TreeNode *prev; void recoverTree(TreeNode *root) { p=q=prev=NULL; inorder(root); swap(p->val,q->val); } void inorder(TreeNode *root) { if(root->left)inorder(root->left); if(prev!=NULL&&(prev->val>root->val)) { if(p==NULL)p=prev; q=root; } prev=root; if(root->right)inorder(root->right); } };
相关文章推荐
- Leetcode 99 Recover Binary Search Tree
- Java for LeetCode 099 Recover Binary Search Tree
- LeetCode Recover Binary Search Tree
- LeetCode算法题目:Recover Binary Search Tree
- Recover Binary Search Tree [LeetCode]
- 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
- Recover Binary Search Tree--leetcode难题讲解
- leetcode笔记:Recover Binary Search Tree
- LeetCode Recover Binary Search Tree——二查搜索树中两个节点错误
- [LeetCode] Recover Binary Search Tree
- leetcode 099 —— Recover Binary Search Tree
- LeetCode: Recover Binary Search Tree
- 【leetcode】Recover Binary Search Tree
- [Leetcode]Recover Binary Search Tree
- lintcode--二叉搜索树交换节点(leetcode--Recover Binary Search Tree)
- [LeetCode]Recover Binary Search Tree