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

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

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) { // write code here return helper(root, o1, o2).val; }

public static TreeNode helper(TreeNode root, int o1, int o2){
    if(root==null || root.val == o1 || root.val == o2){
        return root;
    }
    
    TreeNode left = helper(root.left, o1,o2);
    TreeNode right = helper(root.right, o1,o2);
    
    if(left == null){
        return right;
    }
    
    if(right == null){
        return left;
    }
    
    return root;
}

}

全部评论

相关推荐

水墨不写bug:疑似没有上过大学
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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