leetcode652 尋找重複的子樹

2022-06-23 14:03:13 字數 702 閱讀 7275

題目:

給定一棵二叉樹,返回所有重複的子樹。對於同一類的重複子樹,你只需要返回其中任意一棵的根結點即可。

兩棵樹重複是指它們具有相同的結構以及相同的結點值。

示例 1:

1

/ \ 23/

/ \ 424

/4

下面是兩個重複的子樹:

2

/4

4
因此,你需要以列表的形式返回上述重複子樹的根結點。

思路:

這裡採用的是string來儲存每個子樹結構,當然也可構造一個三元組來存。為了避免重複,只用統計出現過兩次的子樹結構。

code:

/**

* definition for a binary tree node.

* struct treenode

* };

*/class

solution

string dfs

(treenode* root,vector>

&ans,unordered_mapint>

&mp)

};

思路參考自: