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;
};
相关推荐
少许极端5 分钟前
算法奇妙屋(七)-字符串操作
java·开发语言·数据结构·算法·字符串操作
小龙报35 分钟前
《算法通关指南---C++编程篇(2)》
c语言·开发语言·数据结构·c++·程序人生·算法·学习方法
金宗汉44 分钟前
《宇宙递归拓扑学:基于自指性与拓扑流形的无限逼近模型》
大数据·人工智能·笔记·算法·观察者模式
YY_TJJ3 小时前
算法题——贪心算法
算法·贪心算法
C++ 老炮儿的技术栈3 小时前
include″″与includ<>的区别
c语言·开发语言·c++·算法·visual studio
RainbowC03 小时前
GapBuffer高效标记管理算法
android·算法
liu****3 小时前
10.queue的模拟实现
开发语言·数据结构·c++·算法
mit6.8243 小时前
10.17 枚举中间|图论
算法
shinelord明3 小时前
【大数据技术实战】Kafka 认证机制全解析
大数据·数据结构·分布式·架构·kafka
让我们一起加油好吗4 小时前
【基础算法】01BFS
数据结构·c++·算法·bfs·01bfs