Loading

剑指 Offer 68 - I. 二叉搜索树的最近公共祖先

遍历路径

遍历两个结点向上的路径,看第一个重合的结点

遍历全部

遍历整个树,

class Solution {
    public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {
        while(root != null) {
            if(root.val < p.val && root.val < q.val) // p,q 都在 root 的右子树中
                root = root.right; // 遍历至右子节点
            else if(root.val > p.val && root.val > q.val) // p,q 都在 root 的左子树中
                root = root.left; // 遍历至左子节点
            else break;
        }
        return root;
    }
}
posted @ 2021-12-13 15:58  Zhbeii  阅读(26)  评论(0编辑  收藏  举报