题解 | #判断二叉树是否相等#
判断二叉树是否相等
https://www.nowcoder.com/practice/9a9e74b71f944efab9992925f7f9a65e
# class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None # # # @param p TreeNode类 # @param q TreeNode类 # @return bool布尔型 # class Solution: def isSameTree(self , p , q ): # write code here #首先判断两个二叉树是否都是空,如果是空,返回True if p is None and q is None: return True #接着判断两个二叉树其中一个是否为空,如果有一个为空则返回False elif p is None or q is None: return False #是否是空二叉树判断完,接下来判断二叉树的值,看是否相等 elif p.val != q.val: return False #直接判断值,以及左右子节点的值是否相等,如果相等返回True # elif p.val == q.val and p.left==q.left and p.right == q.right: #也可以使用递归的方式判断左右子节点的值是否相等,因为这里的isSameTree()返回的本身就是一个布尔值 return self.isSameTree(p.left,q.left) and self.isSameTree(p.right,q.right)