思路:向下找,如果找到了子节点,返回子节点,
如果子节点都找到了返回当前root,
如果左边有右边没有,返回左边,右边有左边没有,返回右边,
都没有返回空
var lowestCommonAncestor = function(root, p, q) {
if(root == null || root == p || root == q) return root;
let left = lowestCommonAncestor(root.left, p, q);
let right = lowestCommonAncestor(root.right, p, q);
if(!left && !right) return null;
if(!left) return right;
if(!right) return left;
return root;
}
二叉树的最近公共祖先
最新推荐文章于 2024-08-13 22:07:58 发布