【题目描述】 python
对比两棵树是否相同,咱们能够想到将每棵树中全部节点都保存在一个列表当中,再对比列表便可。其实采用任意一种遍历二叉树的方式都可。bash
本题咱们采用前序遍历的方式遍历二叉树,可是有一点不一样的是,当遇到空节点的时候不能直接跳过,须要有必定标记,用于对比两棵树的节点出现的顺序以及数值是否彻底相同。ui
python中优秀的列表拼接方式,有+,extend,和切片拼接。spa
【源代码】code
class Solution:
def isSameTree(self, p: TreeNode, q: TreeNode) -> bool:
return self.dfs(p)==self.dfs(q)
def dfs(self,root):
if root:
return [root.val]+self.dfs(root.left)+self.dfs(root.right)
else:
return [None]
复制代码