C++ LeetCode543題解二叉樹直徑
LeetCode 543.二叉樹的直徑
力扣題目鏈接:leetcode.cn/problems/di…
給定一棵二叉樹,你需要計算它的直徑長度。一棵二叉樹的直徑長度是任意兩個結(jié)點路徑長度中的最大值。這條路徑可能穿過也可能不穿過根結(jié)點。
示例 :給定二叉樹
返回 3, 它的長度是路徑 [4,2,1,3] 或者 [5,2,1,3]。
注意:兩結(jié)點之間的路徑長度是以它們之間邊的數(shù)目表示。
方法一:深度優(yōu)先搜索求二叉樹的深度
我們只需要求出每個節(jié)點的左子樹的最大深度,以及右子樹的最大深度。
AC代碼
C++
class Solution { private: int ans; int getDeepth(TreeNode* root) { if (!root) return 0; int left = getDeepth(root->left); int right = getDeepth(root->right); ans = max(ans, left + right); return max(left, right) + 1; } public: int diameterOfBinaryTree(TreeNode* root) { ans = 0; getDeepth(root); return ans; } };
以上就是C++ LeetCode543題解二叉樹直徑的詳細內(nèi)容,更多關(guān)于C++ 二叉樹直徑的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
關(guān)于Visual Studio無法打開源文件"stdio.h"問題
這篇文章主要介紹了關(guān)于Visual Studio無法打開源文件"stdio.h"問題,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-04-04VC++文件監(jiān)控之FindFirstChangeNotification
因為ReadDirectoryChangesW 上次測試發(fā)現(xiàn)不能多級目錄監(jiān)控,所以嘗試用FindFirstChangeNotification來實施文件監(jiān)控,需要的朋友可以參考下2019-04-04C語言實現(xiàn)將彩色bmp圖像轉(zhuǎn)化為灰圖、灰度圖像反色
這篇文章主要為大家詳細介紹了C語言實現(xiàn)將彩色bmp圖像轉(zhuǎn)化為灰圖、灰度圖像反色,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-10-10