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;
};
相关推荐
追随者永远是胜利者3 小时前
(LeetCode-Hot100)20. 有效的括号
java·算法·leetcode·职场和发展·go
掘根4 小时前
【C++STL】平衡二叉树(AVL树)
开发语言·数据结构·c++
瓦特what?4 小时前
快 速 排 序
数据结构·算法·排序算法
niuniudengdeng4 小时前
基于时序上下文编码的端到端无文本依赖语音分词模型
人工智能·数学·算法·概率论
hetao17338374 小时前
2026-02-13~16 hetao1733837 的刷题记录
c++·算法
你的冰西瓜6 小时前
2026春晚魔术揭秘——变魔法为物理
算法
忘梓.7 小时前
解锁动态规划的奥秘:从零到精通的创新思维解析(10)
c++·算法·动态规划·代理模式
foolish..7 小时前
动态规划笔记
笔记·算法·动态规划
消失的dk7 小时前
算法---动态规划
算法·动态规划
羑悻的小杀马特7 小时前
【动态规划篇】欣赏概率论与镜像法融合下,别出心裁探索解答括号序列问题
c++·算法·蓝桥杯·动态规划·镜像·洛谷·空隙法