题目描述
https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-tree/
思路题解
# 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: 'TreeNode', p: 'TreeNode', q: 'TreeNode') -> 'TreeNode':
def dfs(root):
if not root or root==p or root==q:return root
l=dfs(root.left)
r=dfs(root.right)
if l and r:return root
if l or r:return l or r
return
return dfs(root)