leetcode206-反转链表

leetcode 206

思路

考虑使用双指针的方式来进行反转,定义一个pre指针,指向需要反转的位置,cur指针代表当前位置,一层层进行反转,中间需要一个临时指针也就是代码中的node,因为一旦反转,之前的链路就断开了,比如cur.next = pre设置以后,原来的cur.next就找不到了,所以需要设置一个临时指针保存原本的cur.next,这样才能继续下一步操作

图片来自代码随想录

实现

js 复制代码
var reverseList = function (head) {
  let cur = head;
  let pre = null;
  while (cur) {
    let node = cur.next;
    cur.next = pre;
    pre = cur;
    cur = node;
  }
  return pre;
};
相关推荐
马猴烧酒.几秒前
【面试八股|计算机网络】计算机网络常见面试题详解笔记
java·开发语言·网络·笔记·计算机网络·算法·面试
北顾笙9801 分钟前
测开准备-day04数据结构力扣
数据结构·算法·leetcode
千码君20162 分钟前
kotlin:函数式参数
java·算法·kotlin
2401_833197734 分钟前
现代C++多线程编程实战
开发语言·c++·算法
m0_587958955 分钟前
C++中的适配器模式实战
开发语言·c++·算法
sprite_雪碧11 分钟前
3.2 最大公约数(GCD)&斐波那契数列 & 素数相关(机试高频数学考点)
算法
2301_7765087213 分钟前
C++中的职责链模式实战
开发语言·c++·算法
sqyno1sky15 分钟前
C++中的空对象模式
开发语言·c++·算法
yunyun3212321 分钟前
动态库热加载技术
开发语言·c++·算法
88号技师22 分钟前
2026年3月一区SCI-B样条曲线优化算法B-spline curves optimizer-附Matlab免费代码
开发语言·算法·数学建模·matlab·优化算法