LeetCode 543. 二叉树的直径(DFS)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 543. 二叉树的直径(DFS)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 題目
給定一棵二叉樹,你需要計算它的直徑長度。一棵二叉樹的直徑長度是任意兩個結點路徑長度中的最大值。這條路徑可能穿過根結點。
示例 : 給定二叉樹1/ \2 3/ \ 4 5 返回 3, 它的長度是路徑 [4,2,1,3] 或者 [5,2,1,3]。注意:兩結點之間的路徑長度是以它們之間邊的數目表示。來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/diameter-of-binary-tree
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
2. 解題
class Solution { public:int diameterOfBinaryTree(TreeNode* root) {int maxDiameter = 0;diameter(root,maxDiameter);return maxDiameter;}int diameter(TreeNode* root, int &maxDiameter) {if(root == NULL)return 0;int left = diameter(root->left,maxDiameter);int right = diameter(root->right,maxDiameter);int curMax = left+right;//包含當前根節點的直徑為L+Rif(curMax > maxDiameter)maxDiameter = curMax;return max(left,right)+1;//給別人用的話,只能選取一側,再加上root} };總結
以上是生活随笔為你收集整理的LeetCode 543. 二叉树的直径(DFS)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 234. 回文链表(快
- 下一篇: LeetCode 665. 非递减数列(