[pg]next pointer in bst

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;

    }
    




}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容