劍指Offer 第24題 反轉鍊錶

2022-02-10 12:11:37 字數 391 閱讀 4468

第24題 反轉鍊錶

題目:輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭。

我的思路:建立鍊錶一般可分為頭插法和尾插法兩種方式,那麼這裡可以通過遍歷原鍊錶採用頭插法來建立新鍊錶。

自己的low**

public class solution 

return head.next;

}}

優雅**

public class solution

//如果head為null的時候,pre就為最後乙個節點了,但是鍊錶已經反轉完畢,pre就是反轉後鍊錶的第乙個節點

//直接輸出pre就是我們想要得到的反轉後的鍊錶

return pre;}}

劍指offer24題 反轉鍊錶

定義乙個函式,輸入乙個鍊錶的頭節點,反轉該鍊錶並輸出反轉後鍊錶的頭節點。示例 輸入 1 2 3 4 5 null 輸出 5 4 3 2 1 null 限制 0 節點個數 5000 1.迭代法 宣告兩個指標 definition for singly linked list.struct listno...

2 4 劍指offer 反轉鍊錶

輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭。迭代法 畫圖模擬,發現需要三個指標來完成反轉,需要儲存下乙個節點,因為反轉後會丟失和後面節點的連線。注意頭節點的next要變成none 尾節點 返回節點是原來的尾節點。遞迴法 新建乙個頭節點指向尾節點的,每次遞迴返回值不變。每次遞迴傳入的節點phead是此...

劍指offer第14題 反轉鍊錶

定義乙個函式,輸入乙個鍊錶的頭節點,反轉該鍊錶並輸出反轉後鍊錶的頭節點。示例 輸入 1 2 3 4 5 null 輸出 5 4 3 2 1 null 限制 0 節點個數 5000 思路 新鍵乙個虛擬前驅節點,每次讓當前節點指向我們的上乙個前驅節點。就可以實現反向整個鍊錶了。其實並不難,鍊錶題自己多畫...