C++ LeetCode543題解二叉樹直徑
LeetCode 543.二叉樹的直徑
力扣題目鏈接:leetcode.cn/problems/di…
給定一棵二叉樹,你需要計算它的直徑長度。一棵二叉樹的直徑長度是任意兩個結(jié)點(diǎn)路徑長度中的最大值。這條路徑可能穿過也可能不穿過根結(jié)點(diǎn)。
示例 :給定二叉樹

返回 3, 它的長度是路徑 [4,2,1,3] 或者 [5,2,1,3]。
注意:兩結(jié)點(diǎn)之間的路徑長度是以它們之間邊的數(shù)目表示。
方法一:深度優(yōu)先搜索求二叉樹的深度
我們只需要求出每個節(jié)點(diǎn)的左子樹的最大深度,以及右子樹的最大深度。

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題解二叉樹直徑的詳細(xì)內(nèi)容,更多關(guān)于C++ 二叉樹直徑的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
google c++程序測試框架googletest使用教程詳解
​GoogleTest 是 Google 的 C++ 測試和模擬框架,可以幫助程序員測試C++程序的結(jié)果預(yù)期,這篇文章主要介紹了google c++程序測試框架googletest使用教程,需要的朋友可以參考下2021-08-08
C語言詳細(xì)講解strcpy strcat strcmp函數(shù)的模擬實(shí)現(xiàn)
這篇文章主要介紹了怎樣用C語言模擬實(shí)現(xiàn)strcpy與strcat和strcmp函數(shù),strcpy()函數(shù)是C語言中的一個復(fù)制字符串的庫函數(shù),strcat()函數(shù)的功能是實(shí)現(xiàn)字符串的拼接,strcmp()函數(shù)作用是比較字符串str1和str2是否相同2022-05-05

