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;
};
相关推荐
qw94921 分钟前
MySQL(高级特性篇) 06 章——索引的数据结构
数据结构·数据库·mysql
_DCG_1 小时前
数据结构之哈希表详解
数据结构·哈希表
yuanManGan2 小时前
数据结构漫游记:动态实现栈(stack)
数据结构
刘鑫磊up2 小时前
第十二章:算法与程序设计
算法·算法与程序设计
羽落962 小时前
左神算法基础提升--3
算法
云边有个稻草人2 小时前
【优选算法】三数之和(双指针算法)
笔记·算法·双指针算法
凌小添2 小时前
Python入门教程丨2.3 流程控制、算法效率分析及优化
python·算法
像污秽一样2 小时前
AI刷题-小R的随机播放顺序、不同整数的计数问题
开发语言·c++·算法
竹下为生2 小时前
LeetCode --- 432周赛
算法·leetcode·职场和发展
松桥爸(仁勇)2 小时前
【72课 局部变量与全局变量】课后练习
c++·算法