没看答案,dfs解法,把返回True或者False的情况都列出即可。
# 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: TreeNode, q: TreeNode) -> bool:
def dfs(p, q):
if p and q:
if p.val == q.val:
flag1 = dfs(p.left, q.left)
flag2 = dfs(p.right, q.right)
else:
return False
elif p or q:
return False
else:
return True
return flag1 and flag2
return dfs(p,q)