LeetCode 求二叉樹的最大深度

2021-10-02 16:26:00 字數 641 閱讀 5503

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

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

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

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

3/ \

9  20

/  \

15   7

返回它的最大深度 3 。

/**

* definition for a binary tree node.

* public class treenode

* }*/public static int maxdepth(treenode root)

//計算左子樹最大深度

int leftmaxdepth = maxdepth(root.left);

//計算右子樹最大深度

int rightmaxdepth = maxdepth(root.right);

//以某個節點為根節點的數的最大深度為max

//max=max(leftmaxdepth,rightmaxdepth)+1

return math.max(leftmaxdepth, rightmaxdepth) + 1;

}

LeetCode 求二叉樹的最大深度

三 總結 二叉樹的最大深度 通過遞迴的方式,不斷遍歷其樹的每乙個節點。然後判斷當前節點是否為空,不為空高度加1,同時遍歷當前節點的子節點,然後比較左右兩節點的高度,返回最大的節點高度。反之則直接返回上一節點的高度。判斷當前節點是否為空 繼續遞迴呼叫該函式,將其節點設定為當前節點,同時高度設定為當前節...

求二叉樹的最大深度

二叉樹的題目,大部分都能用分治的思路來解題。求二叉樹的最大深度,就是求左 右子數的最大深度 1即可。給定乙個二叉樹,找出其最大深度。二叉樹的深度為根節點到最遠葉子節點的距離。樣例給出一棵如下的二叉樹 1 2 3 4 5這個二叉樹的最大深度為3.definition of treenode publi...

求二叉樹的最大深度

definition for a binary tree node.struct treenode 深度優先 遞迴版 class solution 深度優先 用棧的迴圈版 class solution p s.top first 若左邊無路,就預備右拐。右拐之前,記錄右拐點的基本資訊 deep s....