劍指Offer No 24 反轉鍊錶

2021-10-01 08:20:27 字數 382 閱讀 4187

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

建立乙個新的頭節點,將原鍊錶的所有結點通過頭插法插入新的頭節點之後。最終返回新的頭節點的next即為所求結果。

/*

public class listnode

}*/public class solution

listnode newhead = new listnode(0);

while (head != null)

return newhead.next;

}}

2 4 劍指offer 反轉鍊錶

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

劍指Offer 24 反轉鍊錶

定義乙個函式,輸入乙個鍊錶的頭節點,反轉該鍊錶並輸出反轉後鍊錶的頭節點。例 輸入 1 2 3 4 5 none 輸出 5 4 3 2 1 none 雙指標遍歷鍊錶,將當前節點的next設為前乙個節點。注意儲存當前節點的next來遍歷。時間複雜度 o n 空間複雜度 o 1 def reverse l...

劍指offer24 反轉鍊錶

定義乙個函式,輸入乙個鍊錶的頭結點,反轉該鍊錶並輸出反轉後鍊錶的頭結點。樣例 輸入 1 2 3 4 5 null 輸出 5 4 3 2 1 null思路 初始化乙個新的頭節點new head,然後用尾插法把原始鍊錶中的結點插入新的頭節點。最後return new head next.acwing 3...