leetcode543二叉樹的直徑

2021-10-03 17:30:17 字數 552 閱讀 8979

給定乙個二叉樹,二叉樹的直徑長度為任意兩個節點路徑長度的最大值。

二叉樹的深度為:從根節點到達葉子節點的最大路徑長度,路徑長度是指從根節點到達葉子節點的經過的節點的個數。

根據題目我們可以發現求解二叉樹的直徑和求解二叉樹的深度有相似之處,二叉樹的深度為左子樹的最大深度 l 加上右子樹的最大深度 r 在加上1即(l + r + 1)。那麼求解二叉樹的直徑可以想象成把任意節點當作根節點時最大的左右子樹二叉樹深度的和。由於題目中所述最大路徑是指節點之間的邊的數量,因此最終的結果應該減去1

為了能夠記錄最大深度,我們維持乙個靜態變數用於記錄最大的深度。

public

class

solution

private

intdepth

(treenode root)

class

treenode

}}

LeetCode 543 二叉樹的直徑

給定一棵二叉樹,你需要計算它的直徑長度。一棵二叉樹的直徑長度是任意兩個結點路徑長度中的最大值。這條路徑可能穿過根結點。示例 給定二叉樹 1 2 3 4 5 返回3,它的長度是路徑 4,2,1,3 或者 5,2,1,3 注意 兩結點之間的路徑長度是以它們之間邊的數目表示。解題思路 該題就是求解二叉樹中...

leetcode 543 二叉樹的直徑

給定一棵二叉樹,你需要計算它的直徑長度。一棵二叉樹的直徑長度是任意兩個結點路徑長度中的最大值。這條路徑可能穿過根結點。示例 給定二叉樹 1 2 3 4 5返回3,它的長度是路徑 4,2,1,3 或者 5,2,1,3 注意 兩結點之間的路徑長度是以它們之間邊的數目表示。小結 對於每個節點分別求解左 右...

Leetcode 543 二叉樹的直徑

題目描述 給定一棵二叉樹,你需要計算它的直徑長度。一棵二叉樹的直徑長度是任意兩個結點路徑長度中的最大值。這條路徑可能穿過根結點。思路 直徑長度 路徑的節點數 1 以每個節點為 根節點 的最長路徑,找出最大值。最長路徑上的節點數是 1 左子樹深度 右子樹深度 樹深度是1 max 左子樹深度,右子樹深度...