Leetcode 111 二叉樹的最小深度

2021-10-09 16:58:48 字數 620 閱讀 8780

遞迴寫法,沒什麼好說的,一遍過。

直接上**:

public

class

solution1

public

void

helper

(treenode root,

int acculate)

}else

}}

看了下答案,有另一種解法。

思考一下樹的三種情況:

無左右孩子。即為葉子節點

只有乙個孩子。

有兩個孩子。

那麼根據三種情況,可以得出三種遞迴情況:

1、無左右孩子,直接返回 1(自己)

2、有乙個孩子,返回孩子的深度加 1

3、有兩個孩子,取兩個孩子的最小值加 1

class

solution

}

這種解法較為簡單,時空消耗和解法 1 相同。

由上述解法也可以看出,遞迴本身就具備維護乙個遞增值得功能,取決於返回值。那麼就不需要再額外宣告乙個變數來儲存。

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 如果節...