【題目描述】 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]
複製代碼