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

反转链表解题思路

题目描述

给定一个单链表的头结点pHead,长度为n,反转该链表后,返回新链表的表头。

示例:当输入链表{1,2,3}时,经反转后,原链表变为{3,2,1},所以对应的输出为{3,2,1}。

4d5d0abc85977eed25fcac22bba6a920.png

 解题思路:迭代法

链表的反转基本上就是箭头的方向的反转,节点的前驱和后继互换角色。

我们定义三个变量cur,pre和next分别表示当前节点,以及其前驱后继。cur初始化为head,其他初始化为NULL。

我们从头节点1开始遍历,1的next和pre原来分别是2和NULL(初始值)互换后1的next和pre变成NULL和2,依次这样遍历下去。

注意最后应该返回pre,不是cur。遍历结束后cur的值是NULL
 

 

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

相关文章:

  • 【MySQL 保姆级教学】数据库基础(重点)(2)
  • Nginx从入门到实战(八):版本平滑无感知,不停机升级
  • jQuery 用户登录页面非空校验与登录测试
  • 《Linux从小白到高手》综合应用篇:深入理解Linux进程调优
  • Linux安装elasticsearch单机版
  • el-table表头加红色星标
  • 2.1 HTML5 - Canvas标签
  • T-Box联网安全定义
  • 7. 整数反转【数学】
  • Windows环境NodeJS下载配置安装运行
  • 石化巡检必备神器,AORO A30防爆手机让“跑冒滴漏”无处藏身!
  • Smartfusion2开发环境的搭建
  • 使用C++编写一个语音播报时钟(Qt)
  • 架构师之路-学渣到学霸历程-11
  • Java Mail腾讯企业邮箱或其他邮箱发送邮件失败bug记录
  • 【大数据】HBase集群断电文件坏块导致集群无法启动处理
  • 400行程序写一个实时操作系统(三):Sparrow的学习方法
  • 为什么人工智能用 Python?
  • 【C++差分数组】P1672何时运输的饲料
  • Go基础知识:切片
  • Redis配置篇 - 指定Redis配置的三种方式,以及Redis配置文件介绍
  • 探索scikit-learn的datasets模块:数据集的加载与使用
  • 手机使用技巧:8 个 Android 锁屏移除工具 [解锁 Android]
  • SSL 协议(HTTPS 协议的关键)
  • test_2_27(C指针)
  • 设计模式——门面模式 | 外观模式
  • FPGA时序分析和约束学习笔记(1、FPGA基本原理)
  • VMware桥接模式无法连接网络
  • YOLO11改进|卷积篇|引入空间通道重组卷积ScConv
  • Java:方法详解