*LeetCode-Recover Binary Search Tree
来源:互联网 发布:mobi 阅读器 mac 编辑:程序博客网 时间:2024/05/16 14:40
找到需要swap的两个node 就是inorder traversal 然后发现两个不是增序的点 每个和他的前一个数比 第一个不对的点是 a > b就是a 第二个数是a<b就是b
记录一个prev 一个first一个sec
最后两个node的swap不需要挪动指针 只要改node的值就好了
public class Solution { public TreeNode prev = new TreeNode ( Integer.MIN_VALUE ); public TreeNode first; public TreeNode second; public void recoverTree(TreeNode root) { if ( root == null ) return; traverse ( root ); int val = first.val; first.val = second.val; second.val = val; } public void traverse (TreeNode root) { if ( root == null ) return; traverse ( root.left ); if ( first == null && prev.val >= root.val ) first = prev; if ( first != null && prev.val >= root.val ) second = root; prev = root; traverse ( root.right ); }}
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
- *LeetCode-Scramble String
- FZU 2198 快来快来数一数 (dp + 矩阵快速幂)
- AX 2012 上线杂记 二
- Leetcode NO.42 Trapping Rain Water
- Leetcode NO.290 Word Pattern
- *LeetCode-Recover Binary Search Tree
- 程序员不成熟的若干个特征
- 逃离x86架构-----CPU体系结构CISC与RISC之争
- Neural Network中的Back-Propagation的详细推导过程
- C语言经典编程282例 明日科技 第243例改错
- 努力
- 【Android-003】【Android测试】
- 【Android学习目录】
- 【Android-004】【SQLite数据库】