在二叉树中找到两个节点的最近公共祖先

依旧采用通用的解法。

 public int lowestCommonAncestor (TreeNode root, int o1, int o2) {
        // write code here
        TreeNode node=dfs(root,o1,o2);
        return node.val;
    }
    public TreeNode dfs(TreeNode root,int p,int q){
        if(root==null||root.val==p||root.val==q) return root;
        TreeNode left=dfs(root.left,p,q);
        TreeNode right=dfs(root.right,p,q);
        if(left==null) return right;
        if(right==null) return left;
        return root;
    }
全部评论

相关推荐

迟缓的斜杠青年巴比Q了:简历被投过的公司卖出去了,我前两天遇到过更离谱的,打电话来问我有没有意向报班学Java学习,服了,还拿我学校一个学长在他们那报班学了之后干了华为OD当招牌
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务