每日一道算法題--leetcode 100--相同的樹--python

【題目描述】 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]
複製代碼
相關文章
相關標籤/搜索