iT邦幫忙

2025 iThome 鐵人賽

0
自我挑戰組

Java × LeetCode-30天日記系列 第 25

Day 25 — Maximum Depth of Binary Tree (LC #104)

  • 分享至 

  • xImage
  •  

題目理解
我的理解 : 求二元樹最大深度(從根節點到最遠葉節點的節點數)。
方法
採用的是 BFS

  1. 若樹是空的(root == null),深度為 0。
  2. 建立一個 Queue 佇列,放入根節點。
  3. 使用一個變數 depth 來記錄目前的層數。
  4. 當佇列不為空:
  • 取出當前層的所有節點數(size)。
  • 依序處理每個節點:
    若有左子節點,就放入佇列。
    若有右子節點,也放入佇列。
    5.直到佇列為空,返回 depth 即為最大深度。

https://ithelp.ithome.com.tw/upload/images/20251012/20169238nI8HV7niod.png

心得
這題讓我學到如何用 BFS 的層序遍歷 方式去計算樹的深度。使用 佇列(Queue) 進行層序遍歷,可以清楚地看到:每層的節點如何被取出與加入;深度如何在每輪中遞增。


上一篇
Day 24:Coin Change (LeetCode #322)
下一篇
Day 26:Invert Binary Tree (LC #226)
系列文
Java × LeetCode-30天日記30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言