#力扣 LeetCode面試題 04.08. 首個共同祖先 @FDDLC

凡我出品,皆屬精品發表於2020-12-16

題目描述:

https://leetcode-cn.com/problems/first-common-ancestor-lcci/

 

Java程式碼:

class Solution { //所有節點的值都是唯一的。 p、q 為不同節點且均存在於給定的二叉樹中。
    public boolean in(TreeNode sub,TreeNode sup){ //sub, sup非空
        if(sup==sub)return true;
        if(sup.left!=null&&in(sub,sup.left)||sup.right!=null&&in(sub,sup.right))return true;
        return false;
    }
    public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {
        if(root.left!=null&&in(p,root.left)&&in(q,root.left))return lowestCommonAncestor(root.left,p,q);
        if(root.right!=null&&in(p,root.right)&&in(q,root.right))return lowestCommonAncestor(root.right,p,q);
        return root;
    }
}

 

 

 

相關文章