LeetCode——235. 二叉搜索树的最近公共祖先
目录
1.问题描述2.解决办法1.遍历
3.代码实现
1.问题描述
2.解决办法
1.遍历
我们对从根节点开始,通过遍历找出到达节点 p 和 q 的路径,一共需要两次遍历。我们也可以考虑将这两个节点放在一起遍历。
整体的遍历过程与方法一中的类似:
我们从根节点开始遍历;如果当前节点的值大于 p 和 q 的值,说明 p 和 q 应该在当前节点的左子树,因此将当前节点移动到它的左子节点;如果当前节点的值小于 p 和 q 的值,说明 p 和 q 应该在当前节点的右子树,因此将当前节点移动到它的右子节点;如果当前节点的值不满足上述两条要求,那么说明当前节点就是「分岔点」。此时,p 和 q要么在当前节点的不同的子树中,要么其中一个就是当前节点。
3.代码实现
class Solution {
public TreeNode lowestCommonAncestor(TreeNod
共有 0 条评论