题目描述
解题思路
- 使用DFS的遍历思想进行遍历二叉树
- 如果为空节点或p节点或q节点,直接返回该节点
- 遍历的时候,看返回值,如果p和q都存在就返回当前的root节点,如果只有一个存在就反返回不为空的节点。
var lowestCommonAncestor = function(root, p, q) {
if (root === null || root === p || root === q) {
return root;
}
let x = lowestCommonAncestor(root.left,p,q);
let y = lowestCommonAncestor(root.right,p,q);
if (x && y) {
return root;
} else {
return x || y; // 返回存在的那一个
}
};
作者:Always_positive
链接:https://juejin.cn/post/6948663969418575886
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。