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

(链表)206. 反转链表

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


示例 1:

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

示例 2:

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

示例 3:

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

提示:

  • 链表中节点的数目范围是 [0, 5000]
  • -5000 <= Node.val <= 5000

代码:

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode() : val(0), next(nullptr) {}
 *     ListNode(int x) : val(x), next(nullptr) {}
 *     ListNode(int x, ListNode *next) : val(x), next(next) {}
 * };
 */
class Solution {
public:
    ListNode* reverseList(ListNode* head) {
        
        ListNode *newhead = nullptr;
        ListNode *cur = head;

        while(cur != nullptr){
            ListNode *next = cur->next;

            cur->next = newhead;
            newhead = cur;
            cur = next;
        }

        return newhead;
    }
};

解题思路:

(1)定义一个新头部 newhead。

(2)遍历 head,注意 next 的指向。即先保存下一个节点,再将当前节点指向新头部 newhead。接着,移动新头部 newhead。最后,更新当前节点。

(3)链表就是指向的游戏。

http://www.dtcms.com/a/68337.html

相关文章:

  • Winfrom基础知识41-60
  • GolangTCP通信解决粘包问题
  • TOSUN同星TsMaster使用入门——3、使用系统变量及c小程序结合panel面板发送报文
  • Nping- Nmap中的一个工具-用于生成网络数据包并分析响应
  • 跳跃游戏 (leetcode 55
  • u8g2原理解析
  • Java中Math.random()的用法
  • 2025-03-15 学习记录--C/C++-PTA 练习3-4 统计字符
  • Java创造型模式之原型模式详解
  • 《基於Python的网络爬虫抓包技术研究与应用》
  • 基于“动手学强化学习”的知识点(一):第 14 章 SAC 算法(gym版本 >= 0.26)
  • 基本的WinDbg调试指令
  • SEO优先级矩阵:有限资源下的ROI最大化决策模型
  • 科技快讯 | “垃圾短信”可以被识别了;阿里正式推出AI旗舰应用;OpenAI深夜发布全新Agent工具
  • python数据分析文件夹篇--pandas,openpyxl,xlwings三种方法批量创建、 复制、删除工作表
  • JAVA中的多态性以及它在实际编程中的作用
  • 1141. 【贪心算法】排队打水
  • 【2025最新版】如何将fnm与node.js安装在D盘?【保姆级安装及人性话理解教程】
  • git submodule
  • 疗养院管理系统设计与实现(代码+数据库+LW)
  • 动态规划习题代码题解
  • 本地部署量化满血版本deepseek的Ktransformer清华方案的硬件配置
  • 【linux驱动开发】创建proc文件系统中的目录和文件实现
  • win10 win+shift+s 无法立即连续截图 第二次截图需要等很久
  • [RA-L 2023] Coco-LIC:基于非均匀 B 样条的连续时间紧密耦合 LiDAR-惯性-相机里程计
  • API自动化测试实战:Postman + Newman/Pytest的深度解析
  • 深度学习中学习率调整策略
  • java实现智能家居控制系统——入门版
  • vue3怎么和大模型交互?
  • spring security学习入门指引