872 葉子相似的樹

2021-10-16 17:46:30 字數 709 閱讀 1164

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

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

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

如果給定的兩個頭結點分別為 root1 和 root2 的樹是葉相似的,則返回 true;否則返回 false 。

輸入:root1 =

[3,5,1,6,2,9,8,null,null,7,4], root2 =

[3,5,1,6,7,4,2,null,null,null,null,null,null,9,8]

輸出:true

思路:要找出樹的葉值序列,我們可以使用深度優先搜尋。如果結點是葉子,那麼 dfs函式會寫入結點的值,然後遞迴地探索每個子結點。這可以保證按從左到右的順序訪問每片葉子,因為在右孩子結點之前完全探索了左孩子結點。

class solution 

public void dfs(treenode node, list leafvalues)

}}

872 葉子相似的樹

請考慮一顆二叉樹上所有的葉子,這些葉子的值按從左到右的順序排列形成乙個 葉值序列 舉個例子,如上圖所示,給定一顆葉值序列為 6,7,4,9,8 的樹。如果有兩顆二叉樹的葉值序列是相同,那麼我們就認為它們是 葉相似 的。如果給定的兩個頭結點分別為 root1 和 root2 的樹是葉相似的,則返回 t...

872 葉子相似的樹

請考慮一顆二叉樹上所有的葉子,這些葉子的值按從左到右的順序排列形成乙個 葉值序列 舉個例子,如上圖所示,給定一顆葉值序列為 6,7,4,9,8 的樹。如果有兩顆二叉樹的葉值序列是相同,那麼我們就認為它們是 葉相似 的。如果給定的兩個頭結點分別為 root1 和 root2 的樹是葉相似的,則返回 t...

Leetcode 872 葉子相似的樹

請考慮一顆二叉樹上所有的葉子,這些葉子的值按從左到右的順序排列形成乙個 葉值序列 舉個例子,如上圖所示,給定一顆葉值序列為 6,7,4,9,8 的樹。如果有兩顆二叉樹的葉值序列是相同,那麼我們就認為它們是 葉相似 的。如果給定的兩個頭結點分別為root1和root2的樹是葉相似的,則返回true 否...