美文网首页
[pg]next pointer in bst

[pg]next pointer in bst

作者: 秋_轩 | 来源:发表于2017-02-19 14:09 被阅读0次
import java.util.HashSet;
import java.util.Set;

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
public class Solution {
    class TreeNode{
        int val;
        TreeNode left;
        TreeNode right;
        TreeNode parent;
    }
    public TreeNode inorderSuccessor(TreeNode root, TreeNode p) {
        return helper(root,p.val,new HashSet<TreeNode>());

    }
    public TreeNode helper(TreeNode root, int val, Set<TreeNode> set){
        if(root == null)return null;
        set.add(root);
        TreeNode res = null;
        if(root.val <= val){
            if(root.right != null && !set.contains(root.right)){
                res = helper(root.right,val,set);
                
            }
            if(res != null)return res;
            return helper(root.parent,val,set);
            
        } else {
            return root;
        }
    }

   

    
}
import java.util.HashSet;
import java.util.Set;

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
public class Solution {
    class TreeNode{

        TreeNode left;
        TreeNode right;
        TreeNode parent;
    }
    public TreeNode inorderSuccessor(TreeNode p) {
        if(p.right != null)return p.right;
        
        while(p.parent != null){
            if(p.parent.right == p)p = p.parent;
            else return p.parent;
        }
        
        return null;

    }
    




}

相关文章

网友评论

      本文标题:[pg]next pointer in bst

      本文链接:https://www.haomeiwen.com/subject/ioljwttx.html