var reverseList = function (head) {
let pre = null; // 创建这个变量作为反转链表的尾部
let cur = head; // 这个变量用于不断的移动指针。
// 开始进行翻转
while (cur !== null) {
// 翻转之前需要先保存next节点,不然翻转之后找不到这个位置的元素了
let next = cur.next;
// 当前节点next指针翻转指向pre前置节点
cur.next = pre;
// 将pre 移动到 cur当前的位置
pre = cur;
// 将cur 移动到 next的位置 执行下一次的循环
cur = next
}
// 退出while循环的条件是 cur 为 null。只要明白一件事情
// pre 指向的是cur的前一个元素。所以翻转之后返回的应该是pre
return pre;
};
作者:chu-peng-fei 链接:https://leetcode-cn.com/problems/reverse-linked-list/solution/javascriptjie-fa-jian-da-yi-dong-206fan-6boxf/ 来源:力扣(LeetCode) 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。