2025 iThome 鐵人賽
分享至
這題的重點在於「每個節點的左右子樹要交換」。我一開始的想法是先找到根節點,然後把它的左子樹跟右子樹交換,再繼續對左右子樹做同樣的事。因為每個節點都要重複一樣的操作,所以用遞迴會比較自然。在程式裡,我先檢查 root是否為null,如果是就直接回傳。接著用一個暫存變數temp來交換左右子樹,然後分別遞迴呼叫invertTree(root.left)和 invertTree(root.right)。
IT邦幫忙