面试题04.08.首个共同祖先
链接:面试题04.08.首个共同祖先
难度:Medium
标签:树、深度优先搜索、二叉树
简介:设计并实现一个算法,找出二叉树中某两个节点的第一个共同祖先。
题解 1 - javascript
- 编辑时间:2021-05-13
- 执行用时:104ms
- 内存消耗:46.9MB
- 编程语言:javascript
- 解法介绍:递归。
var lowestCommonAncestor = function (root, p, q) {
if (root === null || root === p || root === q) return root;
const left = lowestCommonAncestor(root.left, p, q);
const right = lowestCommonAncestor(root.right, p, q);
return left && right ? root : left ? left : right;
};