題目介紹:
給定一個二元樹的根節點 root,請將整棵樹進行「鏡像反轉」,也就是讓每一個節點的左子樹與右子樹都互換,最後返回反轉後的根節點。這個過程可透過遞迴或迭代的方式,逐層或逐點交換左右子樹來完成。
解題四步驟:
STEP 1:確認問題與不變式
STEP 2:把問題拆成子問題並建立歸納不變式(數學化拆法)
STEP 3:設計與實作細節(含遞迴與疊代、複雜度)
STEP 4:驗證、測試
程式碼及正確執行結果:
學習心得:
這題讓我學會到遞迴的威力,只要先處理子樹,再交換左右指標,就能完成整棵樹的鏡像反轉。程式很簡潔,但背後代表的是「把大問題拆成小問題」的思維。這也提醒我在解決複雜問題時,可以嘗試用分解與重組的方式逐步完成。
延伸邏輯時事面:
1.全球政經視角轉換
國際新聞中,常會聽到不同國家對同一件事件有「鏡像對立」的解讀。例如 AI 發展:美國視為創新與領導地位,中國則看作戰略與安全。這種「同一棵樹,換個方向就完全不同」的觀點,很像二元樹反轉。
2.心理學與教育
心理學中強調「換位思考」,教育也常推「站在學生的角度」去思考教學設計。這與題目的核心邏輯一致 —— 把左右子樹交換,就是在練習從另一側看世界。