
public int lowestCommonAncestor (TreeNode root, int o1, int o2) {
return getVal(root,o1,o2).val;
}
public TreeNode getVal(TreeNode root,int o1,int o2){
if(root==null||root.val==o1||root.val==o2){
return root;
}
TreeNode left=getVal(root.left,o1,o2);
TreeNode right=getVal(root.right,o1,o2);
if(left==null){
return right;
}
if(right==null){
return left;
}
return root;
}
该博客介绍了一个在二叉树中寻找两个指定节点最近公共祖先的算法。算法通过递归方式实现,首先检查根节点是否为目标节点之一,然后分别在左子树和右子树中查找,如果其中一个子树为空,则返回另一个非空子树,最后若左右子树都不为空,则返回根节点作为公共祖先。
780

被折叠的 条评论
为什么被折叠?



