這題是要找出二元樹的最大深度,我使用的是遞迴的方式來解。
程式的想法很簡單:如果節點是空的,就回傳 0;如果不是,就去算左子樹和右子樹的深度,然後取兩者中較大的那個,再加上 1,代表當前這一層。
這題讓我更了解遞迴的概念。遞迴其實就是讓程式自己一直往下處理更小的部分,直到沒有子節點為止,再一層一層把結果傳回去。
一開始我覺得遞迴不好理解,但寫完這題後,我發現只要先想好「結束條件」和「每層要回傳什麼」,整個邏輯就會變得清楚很多。
整體來說,這題算是理解遞迴很好的練習題,也讓我熟悉了如何用簡單的邏輯處理樹狀結構的問題。