LeetCode 筆記 - 61. Rotate List
挑戰在不轉換為列表的情況下對鏈結串列進行向右旋轉。本文教學如何精確操作指針,透過斷開特定節點並將原尾端重新連接至頭部,達成 O(1) 額外空間的結構變更。這是一篇掌握鏈結串列結構變更細節與循環連接技巧的實務筆記。
⚠️ 舊文提醒:本文發佈於約 4 年前,部分內容或指令可能已過時,請斟酌參考。
題目在此 61. Rotate List
給一個 Linked list 與 k,請移動 k 個 node 到最前面
解題思維
這題你可以塞進 list 來操作,但我覺得就是少了點味道
所以還是寫了操作 Linked list 的版本
比較關鍵的地方可能是
移動到最終會變成開頭的 node 前一個 node,找到了新的開頭
前一個 node 也是會變成最後一個,所以給了一個 None
然後原始的最後一個 node 接上,原始的第一個 node
完成
程式碼
1 | # Definition for singly-linked list. |