資料結構課上刷的,我感覺我開始對遞迴這個概念開始比較清晰了。
題目如下
給定乙個二叉樹,找出其最大深度。
二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。
說明: 葉子節點是指沒有子節點的節點。
示例:給定二叉樹 [3,
9,20,null,null,15,
7],3
/ \ 9
20/ \
157
首先我實現了兩種做法,都是dfs,一種是遞迴實現,另一種是使用棧來實現。今天徹底理解了bfs和dfs之後,感覺我之前的部落格一些方法歸類可能有一些錯誤
解決遞迴問題的思路通常都是將乙個大的問題遞推分解為幾個很容易解決的情況,再將這些情況加在一起,就是我們需要的答案,比如說,在這題裡,我們需要求的是層數,然後一棵二叉樹可以分解為許許多多個左樹和右數,我們就通過遞迴,每遞迴找到一層,就加上1。
**如下
class
solution
else
}}
這裡我就是開了兩個棧來輔助實現dfs
乙個棧來儲存節點,另乙個棧來儲存對應節點所在層數。
**如下
class
solution
if(node.right != null)
system.out.
println
(temp);}
return depth;
}}
LeetCode104二叉樹最大深度
給定乙個二叉樹,找出其最大深度。二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。說明 葉子節點是指沒有子節點的節點。示例 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回它的最大深度 3 definition for a binary tree node....
LeetCode 104 二叉樹的最大深度
題目描述 給定乙個二叉樹,找出其最大深度。二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。說明 葉子節點是指沒有子節點的節點。示例 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回它的最大深度 3 解題思路 此題可以用層次遍歷來解,每層設定乙個count值來...
leetcode 104 二叉樹的最大深度
給定乙個二叉樹,找出其最大深度。二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。說明 葉子節點是指沒有子節點的節點。示例 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回它的最大深度 3 definition for a binary tree node....