Day120 | 灵神 | 二叉树 | 二叉搜索树的最近共公共祖先
Day120 | 灵神 | 二叉树 | 二叉搜索树的最近共公共祖先
235.二叉搜索树的最近共公共祖先
235. 二叉搜索树的最近公共祖先 - 力扣(LeetCode)
思路:
二叉树的最近公共祖先【基础算法精讲 12】_哔哩哔哩_bilibili
可以先做一下236. 二叉树的最近公共祖先 - 力扣(LeetCode)
这道题是236的一种特殊情况
我们可以利用搜索树性质来查找q和p的最近公共祖先
还是分类讨论
1.如果q和p的值都是小于当前结点值的,那说明q和p肯定都在左子树,那他们的最近公共祖先肯定在左子树中
2.如果q和p的值都是大于当前结点值的,那说明q和p肯定都在右子树,那他们的最近公共祖先肯定在右子树中
3.如果不是以上两种情况,那只能是q和p分别在左右子树中,那么当前结点肯定是最近公共祖先了,就返回当前结点就行
完整代码:
1 | class Solution { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Darlingの妙妙屋!
评论