題目連結(jié):
題目意譯:
給定一個(gè)二元樹的根節(jié)點(diǎn),回傳所有重複的子樹。
對(duì)於每一種重複的子樹,你只需要回傳其中一個(gè)的根節(jié)點(diǎn)。
兩棵樹如果有著相同的結(jié)構(gòu)以及相同的數(shù)值,則彼此重複。
限制:
樹中的節(jié)點(diǎn)數(shù)位於範(fàn)圍 [1, 5000] 中。
-200 ≦ Node.val ≦ 200
範(fàn)例測(cè)資:
範(fàn)例 1:
輸入: root = [1,2,3,4,null,2,4,null,null,4]
輸出: [[2,4],[4]]
範(fàn)例 2:
輸入: root = [2,1,1]
輸出: [[1]]
範(fàn)例 3:
輸入: root = [2,2,2,3,null,3,null]
輸出: [[2,3],[3]]
解題思維:
其實(shí)就是
這題的簡(jiǎn)化版。本題不需要從資料建立樹(因?yàn)榻o定的已經(jīng)是樹了)、沒有「需要子樹非空」的條件並且只需要找出並回傳重複的子樹之根節(jié)點(diǎn)(該題需要?jiǎng)h除修改樹的結(jié)構(gòu),最後還要回傳每一條最後剩下的路徑)。
此次分享到此為止,如有任何更加簡(jiǎn)潔的想法或是有說明不清楚之地方,也煩請(qǐng)各位大大撥冗討論。