leetcode 每日一题 面试题 04.06. 后继者

leetcode 每日一题  面试题 04.06. 后继者

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    boolean b = false;
    Queue<TreeNode> queue = new ArrayDeque<>();
    public TreeNode inorderSuccessor(TreeNode root, TreeNode p) {
        x(root,p);
        return queue.peek();
    }

    private void x(TreeNode root, TreeNode p) {
        if(root == null || queue.size() == 1){
            return;
        }
        x(root.left,p);
        if(b){
            queue.add(root);
            return;
        }
        if(root == p){
            b = true;
        }
        x(root.right,p);
    }
}

 

posted @ 2022-05-16 09:24  java架构师1  阅读(23)  评论(0)    收藏  举报