java实现剑指 Offer II 053. 二叉搜索树中的中序后继

2022-04-13 17:21:41 浏览数 (1)

给定一棵二叉搜索树和其中的一个节点 p ,找到该节点在树中的中序后继。如果节点没有中序后继,请返回 null 节点 p 的后继是值比 p.val 大的节点中键值最小的节点,即按中序遍历的顺序节点 p 的下一个节点。

代码语言:javascript复制
/**
利用二叉搜索树中序遍历性质即可
*/
 
class Solution {
      List<TreeNode> list=new ArrayList();
    public TreeNode inorderSuccessor(TreeNode root, TreeNode p) {
      
        process(root);
        if(list.indexOf(p) 1==list.size()) return null;
        return list.get(list.indexOf(p) 1);
    }
    public void process(TreeNode root){
        if(root==null) return;
        process(root.left);
        list.add(root);
        process(root.right);
    }
  
 
}

0 人点赞