LeetCode上反转链表,简单难度,正好做到反转链表II,记录下解题思路
给定一个链表,要求翻转整个链表,例如输入1->2->NULL
先创建一个null节点作为反转后的链表的结尾
对应每个节点都做如下操作
- 保存当前节点的下一个节点
- 将当前节点链接上之前保存的pre
- 保存新的pre
- 获取新的当前节点
当获取新的当前节点为null的时候,循环就结束
var reverseList = function(head) {
// 创建个null作为结尾节点
let prev = null;
// curr对应的是原链表的开头
let curr = head;
// 当下一个节点不为空的情况
while (curr) {
// 保存当前节点的下一个节点
const next = curr.next;
// 将当前节点链接上之前保存的pre
curr.next = prev;
// 保存新的pre
prev = curr;
// 获得新的curr
curr = next;
}
return prev;
};