給定乙個二叉樹,找出其最大深度。
二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。
說明: 葉子節點是指沒有子節點的節點。
示例:給定二叉樹 [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....