【LeetCode笔记】543. 二叉树的直径(Java、dfs、二叉树)
生活随笔
收集整理的這篇文章主要介紹了
【LeetCode笔记】543. 二叉树的直径(Java、dfs、二叉树)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文章目錄
- 題目描述
- 思路 & 代碼
題目描述
思路 & 代碼
- 由這個(gè)結(jié)論考慮:直徑中一定有一個(gè)父結(jié)點(diǎn),那么當(dāng)前直徑長(zhǎng)度就是:
當(dāng)前父結(jié)點(diǎn)的左子樹深度 + 右子樹深度 - 那么,只要遍歷所有結(jié)點(diǎn)的最長(zhǎng)直徑值即可
- 流程:在找每一個(gè)結(jié)點(diǎn)的最深值的遍歷過程中維護(hù)ans,遍歷結(jié)束后返回ans。
- 時(shí)間復(fù)雜度O(n),自底向上把全部結(jié)點(diǎn)遍歷了一遍。
- 無注釋版
總結(jié)
以上是生活随笔為你收集整理的【LeetCode笔记】543. 二叉树的直径(Java、dfs、二叉树)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: xcode动态改变窗口大小_详细的理论要
- 下一篇: java美元兑换,(Java实现) 美元