二叉樹的最大深度和最小深度

2021-10-18 21:14:08 字數 1316 閱讀 7704

二叉樹的最大深度

給定乙個二叉樹,找出其最大深度。

二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。

說明: 葉子節點是指沒有子節點的節點。

示例:給定二叉樹 [3,9,20,null,null,15,7],

3/ \

9  20

/  \

15   7

返回它的最大深度 3 。

分析:這個就是最簡單的二叉樹深度計算,左右支遞迴取最大的那一支加1;

/**

* definition for a binary tree node.

* struct treenode

* treenode(int x) : val(x), left(nullptr), right(nullptr) {}

* treenode(int x, treenode *left, treenode *right) : val(x), left(left), right(right) {}

* };

*/class solution

};

最小深度

給定乙個二叉樹,找出其最小深度。

最小深度是從根節點到最近葉子節點的最短路徑上的節點數量。

說明:葉子節點是指沒有子節點的節點。

示例 1:

輸入:root = [3,9,20,null,null,15,7]

輸出:2

示例 2:

輸入:root = [2,null,3,null,4,null,5,null,6]

輸出:5

樹中節點數的範圍在 [0, 105] 內

-1000 <= node.val <= 1000

分析:這個題目依舊很簡單,只取左右支最小的那一支加1,同時注意只有左孩子和只有右孩子的情況

/**

* definition for a binary tree node.

* struct treenode

* treenode(int x) : val(x), left(nullptr), right(nullptr) {}

* treenode(int x, treenode *left, treenode *right) : val(x), left(left), right(right) {}

* };

*/class solution

};

二叉樹最大深度和最小深度

給定乙個二叉樹,找出其最大深度。二叉樹的深度為根節點到最遠葉子節點的距離。如果二叉樹為空,則深度為0 如果不為空,分別求左子樹的深度和右子樹的深度,去最大的再加1,因為根節點深度是1,要加進去。int maxdepth treenode root 給定乙個二叉樹,找出其最小深度。二叉樹的最小深度為根...

二叉樹 最大深度和最小深度

leetcode 二叉樹的最大深度 leetcode 二叉樹的最小深度 我們知道完全二叉樹,是可以根據節點數量進行計算出深度的,但是非完成二叉樹呢 他就不滿足了,樹結構體 public class treenode 二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。說明 葉子節點是指沒有子節點...

二叉樹的最大深度和最小深度

題目意思很好理解,下面看 獲取二叉樹的最大深度和最小深度 獲取最小深度 func mindepth root treenode int if root.left nil root.right nil 初始化最小值 mind math.maxint32 左子樹最小值 if root.left nil ...