題目描述

解題思路
- 采用一個指針指向目前節點,cur節點的初始值為head.
- 采用另一個指針指向目前節點的前一個節點(pre),該節點的初始值為null.
- 每當我們修改目前指針的指向的時候,一定要儲存目前指針的後一個節點.
解題代碼
var reverseList = function(head) {
let cur = head;
let pre = null;
while (cur) {
// 首先儲存目前節點的下一個節點
let temp = cur.next;
cur.next = pre;
pre = cur;
cur = temp;
}
return pre;
};
複制代碼
題目反思
- 學會使用雙指針來解決反轉連結清單問題。
- 本題尤其值的我們反複練習,因為本題在修改指針的指向的時候,需要儲存目前指針的下一個節點,這是解決反轉連結清單的一個很好的思路。