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;
};
相关推荐
CQU_JIAKE6 分钟前
5.7【A】
算法
2zcode7 分钟前
基于SVM与HOG算法的行人检测系统设计与实现
算法·机器学习·支持向量机
MATLAB代码顾问11 分钟前
MATLAB实现粒子群算法优化PID参数
开发语言·算法·matlab
翎沣15 分钟前
C++11异常处理机制
java·c++·算法
火花怪怪21 分钟前
Origin分析外量子效率(EQE, External Quantum Efficiency)数据处理-EQE计算带隙
算法·数据分析
上弦月-编程22 分钟前
异或法巧解数组中两独数
数据结构·算法
risc12345623 分钟前
维特比算法(Viterbi Algorithm)
算法
Black蜡笔小新36 分钟前
自动化AI算法训练服务器/企业AI算力工作站DLTM重塑企业AI开发模式赋能企业智能转型
人工智能·算法·自动化
科研小白_39 分钟前
【第一期:MATLAB点云处理基础】LAS点云数据导入与可视化
算法