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;
};
相关推荐
yugi98783810 小时前
主动噪声控制中的 FXLMS 算法研究与 MATLAB 实现
开发语言·算法·matlab
Liangwei Lin10 小时前
LeetCode 394. 字符串解码
数据结构·算法
YuanDaima204810 小时前
动态规划基础原理与题目说明
数据结构·人工智能·python·算法·动态规划·手撕代码
大志出奇迹10 小时前
传输协议为大端,STM32为小端,数据传输的字节序问题
c语言·stm32·单片机·mcu·算法·rtos
我爱cope10 小时前
【滑动窗口:力扣438找到字符串中所有字母异位词】
算法·leetcode·职场和发展
happyprince10 小时前
06-FlagEmbedding 核心算法详解
算法
洛水水10 小时前
【力扣100题】27. 二叉树的最大深度
算法·leetcode·图论
bzmK1DTbd10 小时前
K-Means聚类算法:无监督学习实战
算法·kmeans·聚类
_深海凉_10 小时前
LeetCode热题100-删除链表的倒数第 N 个结点
算法·leetcode·链表
小雅痞11 小时前
[Java][Leetcode middle] 73. 矩阵置零
java·leetcode·矩阵