题解 | #两个普通二叉树的第一个公共祖先结点#

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

http://www.nowcoder.com/practice/e0cc33a83afe4530bcec46eba3325116

import java.util.*;

/*
 * public class TreeNode {
 *   int val = 0;
 *   TreeNode left = null;
 *   TreeNode right = null;
 * }
 */

public class Solution {
    /**
     * 
     * @param root TreeNode类 
     * @param o1 int整型 
     * @param o2 int整型 
     * @return int整型
     */
    public int lowestCommonAncestor (TreeNode root, int o1, int o2) {
        //一左一右
        if(has(root.left,o1)&&has(root.right,o2)||has(root.left,o2)&&has(root.right,o1)) {
            return root.val ;//就是当前节点
        }
        //双左
        if(has(root.left,o1)&&has(root.left,o2)) {
            if(root.left.val == o1 || root.left.val == o2) {//有一个就是左节点,那返回左节点
                return root.left.val ;
            } else {//去左子树查找
                return lowestCommonAncestor(root.left , o1 , o2) ;
            }
        }
        //双右
        if(has(root.right,o1)&&has(root.right,o2)) {
            if(root.right.val == o1 || root.right.val == o2) {
                return root.right.val ;
            } else {
                return lowestCommonAncestor(root.right , o1 , o2) ;
            }
        }
        //其他
        return -1 ;
        
    }
    
    //在二叉树中查找是否含有n
    public boolean has(TreeNode root , int n) {
        if(root == null) {
            return false ;
        }
        if(root.val == n) {
            return true ;
        } else {
            return has(root.left , n) || has(root.right,n) ;
        }
    }
}

一个菜鸟的算法刷题记录 文章被收录于专栏

分享一个菜鸟的成长记录

全部评论

相关推荐

Edgestr:没项目地址就干脆把那一栏删了呗
点赞 评论 收藏
分享
行云流水1971:你的简历已经有不错的内容基础,但在岗位匹配度、成果量化、逻辑分层上还有优化空间,我结合产品 / 金融科技类岗位偏好帮你调整: 一、现有问题 & 优化方向 信息冗余:课程 / 学生工作与目标岗位关联弱,可精简; 成果颗粒度不足:部分数据缺少 “对比基准”(比如 “效率提升” 没说之前的情况); 岗位标签弱:产品岗核心能力(如需求闭环、PRD 撰写)体现不够突出。 二、优化后简历(以 “金融科技产品岗” 为例) 教育经历 2023.09-2027.06 郑州轻工业大学(公办一本) | 软件工程 | 本科 核心课程:Java 程序设计、数据库原理、Python(匹配产品岗 “技术理解” 需求) 学习成果:专业核心课 90+,获校级一等奖学金; 学生工作:院学生会主席,统筹 6 场校级活动(覆盖 2000 + 人次),锻炼跨部门协作与项目统筹能力。 实习经历
投了多少份简历才上岸
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务