LeetCode 865. 具有所有最深结点的最小子树(递归)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 865. 具有所有最深结点的最小子树(递归)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1. 題目
給定一個(gè)根為 root 的二叉樹,每個(gè)結(jié)點(diǎn)的深度是它到根的最短距離。
如果一個(gè)結(jié)點(diǎn)在整個(gè)樹的任意結(jié)點(diǎn)之間具有最大的深度,則該結(jié)點(diǎn)是最深的。
一個(gè)結(jié)點(diǎn)的子樹是該結(jié)點(diǎn)加上它的所有后代的集合。
返回能滿足“以該結(jié)點(diǎn)為根的子樹中包含所有最深的結(jié)點(diǎn)”這一條件的具有最大深度的結(jié)點(diǎn)。
示例: 輸入:[3,5,1,6,2,0,8,null,null,7,4] 輸出:[2,7,4] 解釋: 我們返回值為 2 的結(jié)點(diǎn),在圖中用黃色標(biāo)記。 在圖中用藍(lán)色標(biāo)記的是樹的最深的結(jié)點(diǎn)。 輸入 "[3, 5, 1, 6, 2, 0, 8, null, null, 7, 4]" 是對(duì)給定的樹的序列化表述。 輸出 "[2, 7, 4]" 是對(duì)根結(jié)點(diǎn)的值為 2 的子樹的序列化表述。 輸入和輸出都具有 TreeNode 類型。提示: 樹中結(jié)點(diǎn)的數(shù)量介于 1 和 500 之間。 每個(gè)結(jié)點(diǎn)的值都是獨(dú)一無二的。來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/smallest-subtree-with-all-the-deepest-nodes
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
2. 解題
類似的題:LeetCode 1123. 最深葉節(jié)點(diǎn)的最近公共祖先(遞歸比較子樹高度)
跟鏈接的題是一個(gè)意思,表述不太一樣。
上面解法,有很多冗余的重復(fù)遍歷
- 優(yōu)化
總結(jié)
以上是生活随笔為你收集整理的LeetCode 865. 具有所有最深结点的最小子树(递归)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 1469. 寻找所有的
- 下一篇: LeetCode 554. 砖墙(map