提交代码
class Solution {
public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {
if(root==null||root==p||root==q) return root;
TreeNode left = lowestCommonAncestor(root.left, p, q);
TreeNode right = lowestCommonAncestor(root.right, p, q);
if(left==null) return right;
else if(right==null) return left;
return root;
}
}
运行结果

二叉树最低公共祖先算法
本文介绍了一种解决二叉树中寻找两个节点的最低公共祖先问题的递归算法。通过递归遍历左右子树,当左子树或右子树返回非空时,表明找到了其中一个节点或其公共祖先。若左右子树都返回非空,则当前根节点即为所求的最低公共祖先。
839

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



