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

迭代法反转链表

//迭代法的核心思想是遍历链表,将原本指向下一个节点的指针改为指向前一个节点。具体步骤如下:
//初始化三个指针:prev 初始化为 nullptr,表示前一个节点;curr 初始化为链表的头节点;next 用于临时保存 curr 的下一个节点。
//遍历链表,在每次循环中:
//先保存 curr 的下一个节点到 next。
//改变 curr 的指针方向,使其指向 prev。
//更新 prev 为 curr。
//更新 curr 为 next。
//当 curr 为 nullptr 时,遍历结束,此时 prev 就是反转后链表的头节点。

 ListNode* reverseList(ListNode* head) {
        ListNode * prev = nullptr, *curr = head, *next = nullptr;
        while(curr != nullptr){
            next = curr->next;
            curr->next = prev;
            prev = curr;
            //注意这里要更新curr等于保存好的next
            curr = next;
        }
        return prev;      
    }
http://www.dtcms.com/a/73648.html

相关文章:

  • 光猫 和 全光 WiFi
  • 13个问题
  • 【大模型学习】第二十三章 深度解析BERT
  • 【工具/调研】各种类型文件转PDF
  • 9、讲一讲你理解的虚拟内存【中高频】
  • 【Linux】设置系统时间
  • 简单的实现RPC框架
  • NineData云原生智能数据管理平台新功能发布|2025年2月版
  • Java继承与反思,单例模式与静态的思考
  • STM32 ADC原理与驱动详解:从存储器映射到多通道采集(下) | 零基础入门STM32第六十六步
  • 基于51单片机的12864模拟示波器proteus仿真
  • 【Linux篇】:初步理解何为进程--从硬件“原子“到PCB“粒子“的进程管理革命
  • 直击行业痛点,赛逸展2025科技创新奖推陈出新
  • 42.单调栈2
  • 3月17日星期一今日早报简报微语报早读
  • 华为OD机试 - 书籍叠放 - 逻辑分析(Java 2023 B卷 200分)
  • 【操作系统安全】任务3:Linux 网络安全实战命令手册
  • JAVA(8)-数组
  • Python虚拟环境完全指南:用venv管理项目依赖,避免环境冲突的N个技巧
  • Matlab 汽车二自由度转弯模型
  • VLLM:虚拟大型语言模型(Virtual Large Language Model)
  • 决策树(DT算法)
  • MongoDB 可观测性最佳实践
  • 从Excel到搭贝的转变过程
  • 【Agent】OpenManus-Flow-BaseFlow详细分析
  • 解决qt中自定插件加载失败,不显示问题。
  • 2-信息安全概述
  • maven依赖包重复查找处理方法
  • hive通过元数据库查询分区和非分区的数据量及存储占用
  • DeepSeek 是否被过度吹捧了?