C++ LeetCode543題解二叉樹直徑
更新時間:2022年12月16日 14:55:04 作者:LetMeFly
這篇文章主要為大家介紹了C++ LeetCode543題解二叉樹直徑,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
LeetCode 543.二叉樹的直徑
力扣題目鏈接:leetcode.cn/problems/di…
給定一棵二叉樹,你需要計算它的直徑長度。一棵二叉樹的直徑長度是任意兩個結點路徑長度中的最大值。這條路徑可能穿過也可能不穿過根結點。
示例 :給定二叉樹
返回 3, 它的長度是路徑 [4,2,1,3] 或者 [5,2,1,3]。
注意:兩結點之間的路徑長度是以它們之間邊的數目表示。
方法一:深度優(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題解二叉樹直徑的詳細內容,更多關于C++ 二叉樹直徑的資料請關注腳本之家其它相關文章!
相關文章
關于Visual Studio無法打開源文件"stdio.h"問題
這篇文章主要介紹了關于Visual Studio無法打開源文件"stdio.h"問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-04-04VC++文件監(jiān)控之FindFirstChangeNotification
因為ReadDirectoryChangesW 上次測試發(fā)現不能多級目錄監(jiān)控,所以嘗試用FindFirstChangeNotification來實施文件監(jiān)控,需要的朋友可以參考下2019-04-04