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;
};
相关推荐
Cowboy hat2 分钟前
数据结构基础(一)—— 什么是数据结构?
数据结构
岁岁的O泡奶15 分钟前
NSSCTF_crypto_[SWPU 2020]happy
经验分享·python·算法·密码学
EchoL、20 分钟前
【论文阅读】SteganoGAN:High Capacity Image Steganography with GANs
论文阅读·人工智能·笔记·算法
CoovallyAIHub21 分钟前
深度学习驱动的视频异常检测(VAD),AI如何让监控更智能?
深度学习·算法·计算机视觉
于樱花森上飞舞22 分钟前
【多线程】常见的锁策略与锁
java·开发语言·算法·java-ee
HUST28 分钟前
C 语言 第八讲:VS实用调试技巧
运维·c语言·开发语言·数据结构·算法·c#
历程里程碑36 分钟前
LeetCode128:哈希集合巧解最长连续序列
开发语言·数据结构·c++·算法·leetcode·哈希算法·散列表
@淡 定37 分钟前
Hash 索引与 B+树索引的区别与适用场景
b树·算法·哈希算法
Tzarevich38 分钟前
算法效率的核心:时间复杂度与空间复杂度
javascript·算法
风筝在晴天搁浅39 分钟前
hot100 160.相交链表
数据结构·链表