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

LeetCode 206. 反转链表 (C++实现)

1. 题目描述

给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。

示例 1:

输入:head = [1,2,3,4,5]
输出:[5,4,3,2,1]

示例 2:

输入:head = [1,2]
输出:[2,1]

示例 3:

输入:head = []
输出:[]

2. 解题思路

首先定义两个指针pre和cur,pre指向null,cur指向头结点,然后遍历链表,定义一个中间节点tmp用于存储cur->next,然后cur->next指向pre,然后pre指向cur,cur指向tmp,循环结束返回pre。

3. 代码实现

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

            pre = cur;
            cur = tmp;
        }
        return pre;
    }
};

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

相关文章:

  • webserver log日志系统的实现
  • windows下安装配置anaconda及常用的conda命令
  • 【网络安全产品大调研系列】1. 漏洞扫描
  • 题解 洛谷 Luogu P1135 奇怪的电梯 广度优先搜索 BFS C/C++
  • 通航飞机(通用航空飞机)的软件关键技术
  • 用python ollama qwen2.5 开发一个AI修仙游戏
  • Yolo11改进策略:Block改进|使用FastVit的RepMixerBlock改进Yolo11,重参数重构助力Yolo11涨点(全网首发)
  • 系统思考—全局思维
  • 深度学习-77-大模型量化之Post Training Quantization训练后量化PTQ
  • 嵌入式硬件产品:CC254x 蓝牙升级
  • 机器学习之 KNN 算法
  • Axios 取消上一次重复请求
  • DELL EMC Unity 存储系统扩容之如何查看pool类型
  • Java 异常
  • Next.js 14 数据处理:从服务端组件到状态管理的最佳实践
  • Vue.js前端框架教程11:Vue监听器watch和watchEffect
  • MATLAB直接推导函数的导函数和积分形式(具体方法和用例)
  • JAVA开发 在 Spring Boot 中集成 Swagger
  • 人的心理特征
  • PMO转型提升汽车销售效率:看板工具的关键作用
  • 关于 K8s 的一些基础概念整理-补充【k8s系列之二】
  • 石岩基督教福音堂
  • 【CryptoJS库AES加密】
  • 蓝牙协议——音乐启停控制
  • sward - 一款国产开源免费的企业级知识库管理工具
  • SOME/IP 协议详解——信息格式