4.6---找二叉树中序后继(CC150)

因为,没有重复值,所以只需要做一个标记就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);
    }
}

 

posted @ 2015-12-22 22:21  创业-李春跃-增长黑客  阅读(183)  评论(0编辑  收藏  举报