LeetCode 求二叉樹的最大深度

2021-10-16 05:27:17 字數 492 閱讀 5169

三、總結

二叉樹的最大深度

通過遞迴的方式,不斷遍歷其樹的每乙個節點。然後判斷當前節點是否為空,不為空高度加1,同時遍歷當前節點的子節點,然後比較左右兩節點的高度,返回最大的節點高度。反之則直接返回上一節點的高度。

判斷當前節點是否為空

繼續遞迴呼叫該函式,將其節點設定為當前節點,同時高度設定為當前節點的高度。並設定變數用於獲取函式的返回值。

比較左右兩個節點函式返回值,取其最大值。

**如下:

class

solution

public

intmaxheight

(treenode root,

int height)

else

}}

這裡面主要用到了遞迴的思想。遞迴在與樹有關的很多的題目都可以使用該思想。通過該思想可以很大程度上簡化**。但是也不是沒有缺點,如果遞迴次數過多的話,可能會造成堆疊溢位。

LeetCode 求二叉樹的最大深度

給定乙個二叉樹,找出其最大深度。二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。說明 葉子節點是指沒有子節點的節點。示例 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回它的最大深度 3 definition for a binary tree node....

求二叉樹的最大深度

二叉樹的題目,大部分都能用分治的思路來解題。求二叉樹的最大深度,就是求左 右子數的最大深度 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....