数据结构:树🌲
时间复杂度:O(n)
空间复杂度:O(1)
代码实现:
class Solution:
def lowestCommonAncestor(self, root: 'TreeNode', p: 'TreeNode', q: 'TreeNode') -> 'TreeNode':
while True:
if p.val <= root.val <= q.val or q.val <= root.val <= p.val:
return root
elif p.val > root.val and q.val > root.val:
root = root.right
else:
root = root.left
文章介绍了如何在二叉树中利用O(n)的时间复杂度找到两个节点的最近公共祖先,通过类Solution中的lowestCommonAncestor方法,通过不断比较节点值进行递归搜索。
294

被折叠的 条评论
为什么被折叠?



