鏈表反轉:單鏈表反轉的方法,遞歸和迭代實現

單鏈表由含數據域和指針域(next)的節點組成,頭節點起始,尾節點next爲None。反轉鏈表用於逆序輸出、迴文判斷等場景。 迭代法:遍歷鏈表,維護prev(初None)、current(頭節點)、next指針。步驟:保存current.next→next,反轉current.next→prev,移動prev和current,current爲None時返回prev(新頭)。時間O(n),空間O(1),直觀。 遞歸法:遞歸反轉子鏈表(終止於空或單節點),遞歸後設head.next.next=head,head.next=None,返回新頭。時間O(n),空間O(n),代碼簡潔。 對比:迭代無棧風險,遞歸依賴棧。關鍵:迭代注意指針順序,遞歸明確終止條件。

閱讀全文