文章作者:Tyan
博客:noahsnail.com | CSDN |
1. Description
2. Solution
- Version 1
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def lowestCommonAncestor(self, root, p, q):
if p.val > q.val:
p, q = q, p
if root.val >= p.val and root.val <= q.val:
return root
if root.val > q.val:
return self.lowestCommonAncestor(root.left, p, q)
if root.val < p.val:
return self.lowestCommonAncestor(root.right, p, q)
Reference
- https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-search-tree/