当前位置: 首页 > news >正文

124.反转链表(力扣)

题目描述

代码解决(思路1:双指针)

class Solution {
public:ListNode* reverseList(ListNode* head) {ListNode*temp;//保存cur下一个节点ListNode*cur=head;ListNode*pre=NULL;while(cur){temp=cur->next;// 保存一下 cur的下一个节点,因为接下来要改变cur->nextcur->next=pre;//翻转//更新pre和curpre=cur;cur=temp;}return pre;}
};
  1. 初始化三个指针curpretemp,其中cur指向链表的头节点,pre初始化为NULLtemp用于保存cur的下一个节点。

  2. 使用一个while循环来遍历链表,循环的条件是cur不为NULL

  3. 在循环内部,首先使用temp保存cur的下一个节点,因为接下来要改变cur的指针域,指向pre

  4. cur的指针域指向pre,完成翻转。

  5. 更新precur,将pre指向curcur指向temp

  6. curNULL时,循环结束,此时pre指向翻转后的链表的头节点,返回pre

 

http://www.lryc.cn/news/343139.html

相关文章:

  • 【数据库原理及应用】期末复习汇总高校期末真题试卷06
  • Offline:IQL
  • 图像涂哪就动哪!Gen-2新功能“神笔马良”爆火,网友:急急急
  • 【管理篇】管理三步曲:任务执行(三)
  • 使用idea管理docker
  • 【Git】Commit后进行事务回滚
  • 一分钟教你学浪app视频怎么缓存
  • stylus详解与引入
  • 低功耗数字IC后端设计实现典型案例| UPF Flow如何避免工具乱用Always On Buffer?
  • 前端 | 自定义电子木鱼
  • Android4.4真机移植过程笔记(一)
  • 一觉醒来 AI科技圈发生的大小事儿 05月07日
  • 使用图网络和视频嵌入预测物理场
  • 将java项目上传到GitHub步骤
  • Electron项目中将CommonJS改成使用ES 模块(ESM)语法preload.js加载报错
  • Stable Diffusion 模型分享:Counterfeit-V3.0(动漫)
  • 软件开发者如何保护自己的知识产权?
  • Promise魔鬼面试题
  • Vue3+Nuxt3 从0到1搭建官网项目(SEO搜索、中英文切换、图片懒加载)
  • 面试经典150题——三数之和
  • go动态创建/增加channel并处理数据
  • asp.net成绩查询系统
  • Express路由
  • 在做题中学习(53): 寻找旋转数组中的最小值
  • C#语言进阶(三) 元组
  • 实用的Chrome 浏览器命令
  • IDEA远程连接docker服务,windows版docker desktop
  • Rust 和 Go 哪个更好?
  • 【免费Java系列】大家好 ,今天是学习面向对象高级的第八天点赞收藏关注,持续更新作品 !
  • RPC 失败。curl 16 Error in the HTTP2 framing layer