class Solution {
private TreeNode t1,t2,pre;
public void recoverTree(TreeNode root) {
inOrder(root);
int temp = t1.val;
t1.val = t2.val;
t2.val = temp;
}
public void inOrder(TreeNode root){
if(root == null)
return;
inOrder(root.left);
if(pre!=null && pre.val > root.val){
if(t1==null)
t1 = pre;
t2 = root;
}
pre = root;
inOrder(root.right);
}
}
京公网安备 11010502036488号