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

【练习】【链表】力扣热题100 206. 反转链表

题目

206. 反转链表
206. 反转链表

来源:力扣热题100 206. 反转链表


思路(注意事项)

原地逆置


纯代码

class Solution {
public:
    ListNode* reverseList(ListNode* head) {
        ListNode *pre = nullptr, *p = head;
        while (p != nullptr)
        {
            ListNode *tmp = p -> next;
            p -> next = pre;
            pre = p;
            p = tmp;
        }
        return pre;
    }
};

题解(加注释)

class Solution {
public:
    ListNode* reverseList(ListNode* head) {
        // 定义两个指针 pre 和 p,分别指向空和链表的头节点
        ListNode *pre = nullptr, *p = head;

        // 遍历链表,反转链表
        while (p != nullptr)
        {
            // 保存当前节点的下一个节点
            ListNode *tmp = p -> next;
            // 将当前节点的 next 指针指向 pre
            p -> next = pre;
            // 将 pre 指向当前节点
            pre = p;
            // 将 p 指向下一个节点
            p = tmp;
        }

        // 返回反转后的链表的头节点
        return pre;
    }
};

http://www.kler.cn/a/572389.html

相关文章:

  • 将 SSH 密钥添加到 macOS 的钥匙串中
  • 【GIS】算法原理:点、线、矩形的空间关系
  • 准确--Centos最小化安装通过命令去修改ip和dns
  • docker学习笔记(1)从安装docker到使用Portainer部署容器
  • Ubuntu 下 nginx-1.24.0 源码分析 - ngx_init_cycle 函数 - 详解(11)
  • 【RandLA-Net】基于自建数据训练大场景语义分割网络RandLA-Net
  • 输电线路杆塔倾斜智能监测:守护电网安全的智慧之眼
  • uploadlabs经验总结
  • Java+iTextPDF,实时生成与预览PDF文件的最佳实践!
  • Python数据可视化——Matplotlib的基本概念和使用
  • SQL AnyWhere 的备份与恢复
  • 【节日——日期问题(不完全适用我自己的模板)】
  • 嵌入式开发:傅里叶变换(5):基于STM32,实现CMSIS中的DSP库
  • 动态规划之 “完全背包“ ------P8646 [蓝桥杯 2017 省 AB] 包子凑数
  • CISC架构
  • Rust 并发编程:Futures、Tasks 和 Threads 的结合使用
  • Flutter_学习记录_本地存储数据
  • 玩转大语言模型——Ubuntu系统环境下使用llama.cpp进行CPU与GPU混合推理deepseek
  • 人工智能 大模型在物联网感知层上的应用
  • Go与PHP性能对比分析