leetcode 235. Lowest Common Ancestor of a Binary Search Tree

半城伤御伤魂 提交于 2020-04-07 03:12:33

最低共同祖先,肯定值处于两者之间,而且是第一个这样的节点

所以就像二分搜索一样,当前节点值都大于p和q,则向左走,反之向右走

当碰到介于两者之间时,说明当前节点就是我们要找的

 

class Solution {
    public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {
        if(root.val > p.val && root.val > q.val)
            return lowestCommonAncestor(root.left, p, q);
        else if(root.val < p.val && root.val < q.val)
            return lowestCommonAncestor(root.right, p, q);
        else 
            return root;
    }
    
}

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!