因为,没有重复值,所以只需要做一个标记就OK了。
public class Successor {
static boolean flag = false;
static int result = 0;
public int findSucc(TreeNode root, int p) {
// write code here
inOrder(root,p);
return result; } public static void inOrder(TreeNode root,int p){
if(root == null) return ; inOrder(root.left, p);
if(flag){
result = root.val;
flag = false;
return;
}
if(p == root.val){
flag = true;
}
inOrder(root.right,p);
}
}