Algobase
Problems
Get Premium
Pricing
Problems
/
221. Lowest Common Ancestor of BST
Prev
Next
Visualizer
Problem
Solution
Code
Split at Root
Same Subtree
One Node is Ancestor
⌥
Visualizer will appear here
Problem
Solution
Code
1
def lowest_common_ancestor(root, p, q):
2
curr = root
3
while curr:
4
if p.val < curr.val and q.val < curr.val:
5
curr = curr.left
6
elif p.val > curr.val and q.val > curr.val:
7
curr = curr.right
8
return curr
9
return None
Visualizer
Split at Root
Same Subtree
One Node is Ancestor
⌥
Visualizer will appear here