JVM虛擬機器類載入機制(一)
阿新 • • 發佈:2022-04-10
反轉連結串列
題⽬的主要資訊:
- 給定一個長度為n的連結串列,反轉該連結串列,輸出表頭
迭代(推薦使用)能用迭代儘量用迭代。
具體做法:
1.優先處理空連結串列,空連結串列不需要反轉。
2.我們可以設定兩個指標,一個當前結點的指標,一個上一個結點的指標(初始為空)。
3.遍歷整個連結串列,每到一個結點,斷開當前結點與後面結點的指標,並用臨時遍歷記錄後一個結點,然後當前結點指向上一個結點。
4.再輪換當前指標與上一個指標,讓它們進入下一個結點及下一個結點的前序結點。
答案:
public class Solution { public ListNode ReverseList(ListNode head) { if (head == null){ return null; } ListNode cur = head; ListNode pre = null; while(cur != null){ ListNode temp = cur.next; cur.next = pre; pre = cur; cur = temp; } return pre; } }