我將這週的題目重複練習並統整。這幾天練習的題目都跟「二元樹」有關,像是找最大深度、反轉樹、判斷相同或對稱的樹、計算樹的直徑,還有檢查路徑總和。剛開始看到樹的題目會覺得有點複雜,因為節點之間的關係不好想像也較容易搞混,不過練到後來就慢慢抓到規律。
大部分的題目都可以用「遞迴」來解,像是先處理左右子樹,再把結果組合起來。透過這幾題,我學到遞迴其實就是把大問題拆成很多小問題,只要每個節點都照相同的邏輯處理,整棵樹就能正確運算出來。
另外,這幾題讓我更理解二元樹的結構,也知道在寫程式時要特別注意「空節點」的情況,不然很容易出現錯誤。整體來說,這幾天的練習讓我對樹的操作更熟悉,也對遞迴的運作方式更有信心。