Posted on 2022-12-08 10:33
Uriel 閱讀(54)
評論(0) 編輯 收藏 引用 所屬分類:
搜索 、
閑來無事重切Leet Code
給出兩棵二叉樹,每個節點有一個數值,問總左向右輸出所有葉子結點的值組成的數列,兩棵樹是否輸出一樣
簡單DFS,遇到葉子就記錄值,一開始想當然的所有數字轉string拼一起,但是這樣不能區分6 17 4和6 1 7 4,所以每次拼接的時候數值左右兩邊各多加一個空格
1 #872
2 #Runtime: 36 ms
3 #Memory: 13.5 MB
4
5 # Definition for a binary tree node.
6 # class TreeNode(object):
7 # def __init__(self, val=0, left=None, right=None):
8 # self.val = val
9 # self.left = left
10 # self.right = right
11 class Solution(object):
12 def leafSimilar(self, root1, root2):
13 """
14 :type root1: TreeNode
15 :type root2: TreeNode
16 :rtype: bool
17 """
18 def DFS(r):
19 if not r:
20 return ''
21 if not r.left and not r.right:
22 return ' ' + str(r.val) + ' '
23 return DFS(r.left) + DFS(r.right)
24 return DFS(root1) == DFS(root2)