一、leetcode地址
https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree/
二、问题描述
三、代码实现
语言:Python3
代码:
class Solution:
def lowestCommonAncestor(self, root: 'TreeNode', p: 'TreeNode', q: 'TreeNode') -> 'TreeNode':
dic = {root:None}
def search(root):
if root:
if root.left:
dic[root.left] = root
search(root.left)
if root.right:
dic[root.right] = root
search(root.right)
search(root)
temp1,temp2 = p,q
while temp1 != temp2:
temp1 = dic.get(temp1) if temp1 else q
temp2 = dic.get(temp2) if temp2 else p
return temp1