跳到主要内容

面试题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;
};