Leetcode 235. Lowest Common Ancestor of a Binary Search Tree

文章作者:Tyan
博客:noahsnail.com  |  CSDN  | 

1. Description

Lowest Common Ancestor of a Binary Search Tree

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

  1. https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-search-tree/

你可能感兴趣的:(Leetcode 235. Lowest Common Ancestor of a Binary Search Tree)