给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。
公共祖先肯定在pq之间,由于pq不知道谁先所以先判断一下。
class Solution(object):
def lowestCommonAncestor(self, root, p, q):
"""
:type root: TreeNode
:type p: TreeNode
:type q: TreeNode
:rtype: TreeNode
"""
if p.val >q.val:
p,q =q,p
while True:
if root.val>q.val:
root = root.left
elif root.val < p.val:
root = root.right
else:
return root