652 尋找重複的子樹

2021-10-05 06:32:59 字數 827 閱讀 5659

652. 尋找重複的子樹

難度中等100收藏分享切換為英文關注反饋

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

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

示例 1:

1

/ \2 3

/ / \

4 2 4

/4

下面是兩個重複的子樹:

2

/4

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

/**

* definition for a binary tree node.

* struct treenode

* };

*/class solution

string left = dfs(tree->left);// 返回左邊的資料

string right = dfs(tree->right);// 返回右邊的資料

string s = to_string(tree->val) + ',' + left + ',' +right;// 在這裡比較核心的地方就是定義了這裡

if(++hash[s] ==2)

return s;

}vectorfindduplicatesubtrees(treenode* root)

};// 加油加油 ,try to make yourself more excellent...

leetcode652 尋找重複的子樹

題目 給定一棵二叉樹,返回所有重複的子樹。對於同一類的重複子樹,你只需要返回其中任意一棵的根結點即可。兩棵樹重複是指它們具有相同的結構以及相同的結點值。示例 1 1 23 424 4下面是兩個重複的子樹 2 4和 4因此,你需要以列表的形式返回上述重複子樹的根結點。思路 這裡採用的是string來儲...

LeetCode 652 尋找重複的子樹

給定一棵二叉樹,返回所有重複的子樹。對於同一類的重複子樹,你只需要返回其中任意一棵的根結點即可。兩棵樹重複是指它們具有相同的結構以及相同的結點值。示例 1 1 2 3 4 2 4 4 下面是兩個重複的子樹 2 4和 4 因此,你需要以列表的形式返回上述重複子樹的根結點。先對整棵樹進行序列化,然後對每...

leetcode 652 尋找重複的子樹

給定一棵二叉樹,返回所有重複的子樹。對於同一類的重複子樹,你只需要返回其中任意一棵的根結點即可。兩棵樹重複是指它們具有相同的結構以及相同的結點值。首先是進行序列化,然後序列化的過程中,進行樹的深度優先搜尋,在樹的搜尋過程中,進行乙個結果的統計。畢竟樹的深度優先訪問的時間負雜度是 n 的。class ...