LeetCode 104 二叉樹的最大深度

2022-06-19 02:36:14 字數 952 閱讀 1527

題幹:

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

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

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

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

3 / \

9 20

/ \

15 7

當時考研王道書上的例題,求最大深度,首先想到的就是左右遞迴,求出最後最長的子樹

這就是典型的深度優先遍歷,也是我心裡一直記住的辦法,本來**實現也不長,官方題解也是這個辦法

說到深度優先遍歷,當然廣度優先遍歷的方法也可以解決這個問題,但是寫完**之後,我越發覺得這就是層序遍歷

//深度優先遍歷

public int maxdepth(treenode root)

//廣度優先遍歷

public int maxdepth1(treenode root)

//每迴圈完一層,層數+1

ans++;

}return ans;

}

深度優先遍歷沒得說,就是以後注意語法的靈活運用,用最簡練的**達到預期的功能

廣度優先遍歷中用到了泛型,其實我自己對於泛型的理解是不到位的,因為自己在敲**中很少使用

只知道是為了型別安全和優化效能,並且消除了強制轉換的風險,以後真正理解了在做一篇文章解釋吧

而且還用到了佇列的兩種方法,offer()和poll(),其實同時作為新增和刪除方法,還是有些區別的

在佇列元素為空的情況下,remove() 方法會丟擲nosuchelementexception異常,poll() 方法只會返回 null

在容量已滿的情況下,add() 方法會丟擲illegalstateexception異常,offer() 方法只會返回 false

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....