LeetCode 872 葉子相似的樹

2021-09-19 16:58:51 字數 1341 閱讀 8858

請考慮一顆二叉樹上所有的葉子,這些葉子的值按從左到右的順序排列形成乙個 葉值序列。

舉個例子,如上圖所示,給定一顆葉值序列為(6, 7, 4, 9, 8)的樹。

如果有兩顆二叉樹的葉值序列是相同,那麼我們就認為它們是 葉相似 的。

如果給定的兩個頭結點分別為root1root2的樹是葉相似的,則返回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 ...