104. 二叉树的最大深度
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def maxDepth(self, root: Optional[TreeNode]) -> int:
if root==None:
return 0
else:
return max(self.maxDepth(root.left), self.maxDepth(root.right))+1
100. 相同的树
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def isSameTree(self, p: Optional[TreeNode], q: Optional[TreeNode]) -> bool:
# 以相同的方式同时遍历两棵二叉树
# 返回false:遇到有值的节点时,如果值不相等 / 或者其中一个为空另一个不为空
# 先审视一下根节点
if p==None and q==None: #同时为空是可以的
return True
if p==None or q==None: #一个为空,另一个不空,这不行
return False
if p.val!=q.val: #如果上边两种情况都没有返回,那俩都不为空,此时如果值不相等,这不行
return