1. 二叉搜索树的最近公共祖先
给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。
方法一:
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def lowestCommonAncestor(root, p, q):
if p.val > q.val:
temp = p
p = q
q = temp
while root is not None:
if root.val < p.val:
root = root.right
elif root.val > q.val:
root = root.left
else:
break
return root
方法二:
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def lowestCommonAncestor(root, p, q):
if root.val < p.val and root.val < q.val:
return lowestCommonAncestor(root.right, p, q)
if root.val > p.val and root.val > q.val:
return lowestCommonAncestor(root.left, p, q)
return root



![[深度学习]卷积神经网络CNN](https://i-blog.csdnimg.cn/direct/159bee727f1341be8e340491e01f0d84.png)















