验证二叉树是否相同:
思路:
1.两颗树或者树节点都为空,则相同,没有继续对比的需要,直接return False退出
2.两颗树或者树节点一个有一个没有,则不同,没有继续对比的需要,直接return False退出
3.两颗树或者树节点的值不同,则不同,没有继续对比的需要,直接return False退出
4.满足条件,开始迭代,除以上三种情况外(两颗树或者树节点值相等),则递归比较左子树和右子树,并使用return 左子树and右子树(都为True时候才返回True,否则返回False)
def isSameTree(self, root1, root2):
if not root1 and not root2:
return True
elif not root1 or not root2:
return False
elif root1.val != root2.val:
return False
else:
return self.isSameTree(root1.left,root2.left) and self.isSameTree(root1.right, root2.right)
网友评论