给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。
如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。
递归实现:
class Solution:
def isSameTree(self, p: TreeNode, q: TreeNode) -> bool:
# 递归求解
if p is None and q is None:
return True
if p is None and q is not None:
return False
if p is not None and q is None:
return False
if p.val != q.val:
return False
return self.isSameTree(p.left, q.left) and self.isSameTree(p.right, q.right)