Leetcode543 二叉樹的直徑(C語言)

2021-10-02 17:37:00 字數 621 閱讀 9314

資料結構-樹:演算法與資料結構參考

題目:

給定一棵二叉樹,你需要計算它的直徑長度。一棵二叉樹的直徑長度是任意兩個結點路徑長度1

中的最大值。這條路徑可能穿過根結點。例 :

輸入:[1,2,3,4,5]

輸出:3

1

/ \2 3

/ \

4 5

它的長度是路徑 [4,2,1,3] 或者 [5,2,1,3]。

思路:

遞迴求兩子樹深度和的最大值

**:

/**

* definition for a binary tree node.

* struct treenode ;

*/int max=0;

intdepth

(struct treenode* root)

intdiameterofbinarytree

(struct treenode* root)

兩結點之間的路徑長度是以它們之間邊的數目表示。 ↩︎

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 左子樹深度,右子樹深度...