劍指 Offer 24. 反轉連結串列
劍指 Offer 24. 反轉連結串列
題目描述:
定義一個函式,輸入一個連結串列的頭節點,反轉該連結串列並輸出反轉後連結串列的頭節點。
示例:
輸入: 1->2->3->4->5->NULL
輸出: 5->4->3->2->1->NULL
思路:
通過prev固定反轉後連結串列頭,通過head來反轉,通過next指向剩下的連結串列頭部
程式碼:
var reverseList = function(head) {
// if(head==null||head.next==null) return head;
// var prev=null;
// var next=null;
// while(head!=null){
// next=head.next;
// head.next=prev;
// prev=head;
// head=next;
// }
// return prev;
// var prev = null,cur=head,temp;
// while(cur){
// temp = cur.next;//修改前先記住下一個節點
// cur.next = prev; //改變指向,第一個節點prev是null,
// prev = cur; //記錄前一個節點,供下次迴圈使用
// cur = temp; // cur通過temp指向下一節點
// }
// return prev;//cur會一直迴圈直到null
[cur, pre] = [head, null];
while(cur) [cur.next, pre, cur] = [pre, cur, cur.next];
return pre;
};
相關文章
- 劍指 Offer 24.反轉連結串列
- PHPer也刷《劍指Offer》之連結串列PHP
- 劍指OFFER-從頭到尾列印連結串列(Java)Java
- 劍指offer——連結串列中倒數第k個結點
- 劍指 Offer 35. 複雜連結串列的複製
- 3. 從尾到頭列印連結串列(劍指offer)
- 劍指offer-從尾到頭列印連結串列-phpPHP
- 反轉連結串列
- LeetCode題解(Offer24):反轉連結串列(Python)LeetCodePython
- #反轉連結串列_C++版 #反轉連結串列_Java版 @FDDLCC++Java
- 劍指offer-----刪除連結串列中的重複節點
- 1025 反轉連結串列
- 264反轉連結串列
- leetcode 反轉連結串列LeetCode
- 劍指offer——兩個連結串列的第一個公共結點C++C++
- 力扣 - 劍指 Offer 06. 從尾到頭列印連結串列.md力扣
- leetcode 92 反轉連結串列ⅡLeetCode
- 連結串列反轉問題
- 206. 反轉連結串列
- 【LeetCode-連結串列】面試題-反轉連結串列LeetCode面試題
- 劍指 Offer 25. 合併兩個排序的連結串列 JavaScript實現排序JavaScript
- 劍指Offer-38-兩個連結串列的第一個公共節點
- 【劍指offer】【3】輸入一個連結串列,從尾到頭列印連結串列每個節點的值。
- 資料結構之連結串列:206. 反轉連結串列資料結構
- 反轉連結串列、合併連結串列、樹的子結構
- 【LeetCode】【連結串列】劍指 Offer 52. 兩個連結串列的第一個公共節點 思路解析和程式碼LeetCode
- 實現反轉連結串列--遞迴、迭代、雙指標、棧遞迴指標
- [leetcode 92] 反轉連結串列 IILeetCode
- 反轉連結串列系列問題
- leetcode206. 反轉連結串列LeetCode
- leetcode 206. 反轉連結串列LeetCode
- java實現連結串列反轉Java
- leetcode 206.反轉連結串列LeetCode
- JZ-015-反轉連結串列
- TypeScript 實現連結串列反轉TypeScript
- 反轉一個單連結串列。
- 力扣 - 劍指 Offer 22. 連結串列中倒數第k個節點力扣
- 力扣 - 劍指 Offer 52. 兩個連結串列的第一個公共節點力扣