請考慮一顆二叉樹上所有的葉子,這些葉子的值按從左到右的順序排列形成乙個 葉值序列。
舉個例子,如上圖所示,給定一顆葉值序列為(6, 7, 4, 9, 8)
的樹。
如果有兩顆二叉樹的葉值序列是相同,那麼我們就認為它們是 葉相似 的。
如果給定的兩個頭結點分別為root1
和root2
的樹是葉相似的,則返回true
;否則返回false
。
樣例輸入:
[3,5,1,6,2,9,8,null,null,7,4]
[3,5,1,6,7,4,2,null,null,null,null,null,null,9,8]
樣例輸出:true
dfs
和leetcode 257.二叉樹的所有路徑一樣
寫個python
玩,感覺函式(是叫函式嗎滑稽)定義位置好詭異
# definition for a binary tree node.
# class treenode(object):
# def __init__(self, x):
# self.val = x
# self.left = none
# self.right = none
class
solution
(object):
defleafsimilar
(self, root1, root2)
:"""
:type root1: treenode
:type root2: treenode
:rtype: bool
"""ans1, ans2 =
list()
,list()
defdfs
(root, ans):if
not root.left and
not root.right:
return
if root.left:
dfs(root.left, ans)
if root.right:
dfs(root.right,ans)
dfs(root1, ans1)
dfs(root2, ans2)
return ans1 == ans2
Leetcode 872 葉子相似的樹
請考慮一顆二叉樹上所有的葉子,這些葉子的值按從左到右的順序排列形成乙個 葉值序列 舉個例子,如上圖所示,給定一顆葉值序列為 6,7,4,9,8 的樹。如果有兩顆二叉樹的葉值序列是相同,那麼我們就認為它們是 葉相似 的。如果給定的兩個頭結點分別為root1和root2的樹是葉相似的,則返回true 否...
LeetCode 872 葉子相似的樹
題目 請考慮一顆二叉樹上所有的葉子,這些葉子的值按從左到右的順序排列形成乙個 葉值序列 3 5 1 6 2 9 8 7 4舉個例子,如上圖所示,給定一顆葉值序列為 6,7,4,9,8 的樹。如果有兩顆二叉樹的葉值序列是相同,那麼我們就認為它們是 葉相似 的。如果給定的兩個頭結點分別為 root1 和...
leetcode872 葉子相似的樹
葉子相似的樹。難度 簡單。請考慮一顆二叉樹上所有的葉子,這些葉子的值按從左到右的順序排列形成乙個 葉值序列 舉個例子,如上圖所示,給定一顆葉值序列為 6,7,4,9,8 的樹。如果有兩顆二叉樹的葉值序列是相同,那麼我們就認為它們是 葉相似 的。如果給定的兩個頭結點分別為 root1 和 root2 ...