尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

反转链表-leetcode

反转链表-leetcode
📅 发布时间:2026/6/19 6:50:03

题目描述

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

示例 1:

img

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

示例 2:

img

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

示例 3:

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

提示:

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

解法一

思路:

迭代置换,p,q,r三个指针,转换q.next=p,之后p=q,q=r,r=r.next。

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode reverseList(ListNode head) {if(head == null || head.next == null) return head;ListNode p,q,r;p = head;q=head.next;r=head.next.next;while(true){if(p==head)p.next=null;q.next=p;p=q;q=r;if(q==null) break;r=r.next;}return p;}
}

解法二

思路:

来自官方解答。

递归版本稍微复杂一些,其关键在于反向工作。假设链表的其余部分已经被反转,现在应该反转它前面的部分。设链表为:

image-20250928191656820

若从节点 image-20250928191725095 到 image-20250928191741891 已经被反转,而我们正处于 image-20250928191754300。

image-20250928191804311

我们希望 image-20250928191823248 的下一个节点指向 image-20250928191856362

所以,image-20250928191927213

需要注意的是 image-20250928191948351 的下一个节点必须指向 ∅。如果忽略了这一点,链表中可能会产生环

代码:

class Solution {public ListNode reverseList(ListNode head) {if (head == null || head.next == null) {return head;}ListNode newHead = reverseList(head.next);head.next.next = head;head.next = null;return newHead;}
}

相关新闻

  • 第45篇:AI+交通:自动驾驶、智能交通管理与出行优化 - 实践
  • 在macos下Termius无法连接局域网主机的一个经常出现但又很难排查的问题
  • vim学习使用笔记

最新新闻

  • TPA3255 Class D功放实战:从选型到调音的全链路设计指南
  • PingFangSC字体解决方案:跨平台中文显示一致性技术实现
  • KETTLE日志记录、任务巡检、邮件发送
  • FluentTerminal全屏模式技术深度解析:沉浸式终端体验的架构实现
  • 3.gemini336相机在ubuntu22.04的ros2下运行
  • 成本不到 5000 欧元!Matthias Plappert 公开在办公桌旁搭建机器人研究装置的研究过程

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号