LeetCode 111 二叉樹的最小深度

2021-10-05 08:51:14 字數 763 閱讀 5579

public

class

solution

queue

<

treenode

>q=

newlinkedlist

<>();

treenode

rightmost

=root;q

.add

(root

);int

depth=1

;while(!q

.isempty

())if

(node

.left

!=null)if

(node

.right

!=null)if

(node

==rightmost)}

return

depth;}

}

我們使用bfs解決此問題。 我們將相同級別的節點新增到佇列中q。 我們遍歷每個節點。 當我們遇到葉子節點時,我們停止並返回深度 (the minimum 深度). after iterating all the nodes at the same level, we still cannot find a leaf node, we increment 深度1,然後對下乙個節點重複上述過程。 我們也可以使用dfs。 但是,bfs在高度不平衡的樹上勝過dfs,因為一旦到達第乙個葉節點,它就會終止。

時間複雜度:上)

額外空間:o(1)

from:

leetcode 111 二叉樹的最小深度

題目描述 給定乙個二叉樹,找出其最小深度。最小深度是從根節點到最近葉子節點的最短路徑上的節點數量。說明 葉子節點是指沒有子節點的節點。示例 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回它的最小深度 2.思路 採用後序遍歷,當前結點的深度最小深度等於左右子樹較小深...

LeetCode111 二叉樹的最小深度

解析 求二叉樹的最小深度,即求從根節點到任一子節點,深度的最小值。本題類似求二叉樹的最大深度,都是用遞迴求解。二叉樹的最大深度 分別求出根節點左孩子和右孩子的深度,然後將兩者中較大值加1返回即可。同樣的,求解二叉樹的最小深度,我們要比較兩者中的較小值加1返回。但還有一點要注意,就是如果一棵二叉樹只有...

LeetCode 111 二叉樹的最小深度

給定乙個二叉樹,找出其最小深度。最小深度是從根節點到最近葉子節點的最短路徑上的節點數量。說明 葉子節點是指沒有子節點的節點。示例 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回它的最小深度 2.如果節點是空,那麼返回0 如果節點左右子樹都為空,那麼返回1 如果節...