news 2026/8/30 6:07:04

Hot100题3--反转链表

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Hot100题3--反转链表

反转链表问题

原本我想的是模拟两个指针一个指向头节点一个指向头节点的下一个节点,但是这既不能正确处理边界条件也不能返回反转后的头指针,而且容易产生空指针异常,随即启用,新方法仍旧是两个指针,不过分为前驱和当前节点,前驱指向空,当前节点指向head,然后进行while循环判断条件是当前节点不为空,循环体做的就是先记录一下当前节点的下一个节点,之后进行指针反转,最后将前驱和当前节点分别向后移动一步,最终循环结束返回头节点,也就是原本的尾节点,话不多说,代码如下:

/** * 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; } * } */ public class Solution { public ListNode reverseList(ListNode head) { // 初始化前驱节点为null,当前节点为head ListNode prev = null; ListNode current = head; // 遍历链表直到末尾 while (current != null) { // 记录下一个节点 ListNode nextTemp = current.next; // 反转当前节点的指针 current.next = prev; // 前移两个指针 prev = current; current = nextTemp; } // 返回新的头节点 return prev; } }

时间复杂度:O(n)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/30 2:31:41

16、Yocto项目开发工具与流程详解

Yocto项目开发工具与流程详解 1. JTAG设备调试配置 在进行JTAG设备调试时,需要进行一系列的配置操作。 - 从JTAG Device菜单中选择相应选项,必须启用“Use remote target”选项。 - 从Startup选项卡中,选择“Load symbols”选项。同时,要确保“Use Project binary”选项…

作者头像 李华
网站建设 2026/8/29 22:03:36

25、深入解析Linux相关技术:从CGL到汽车级Linux

深入解析Linux相关技术:从CGL到汽车级Linux 在当今的技术领域,Linux系统凭借其开源、灵活和强大的特性,在多个领域得到了广泛的应用。本文将深入探讨几个重要的Linux相关技术,包括CGL(Carrier Grade Linux)的分类、汽车级Linux(Automotive Grade Linux)、载波级虚拟化…

作者头像 李华
网站建设 2026/8/30 0:25:54

Nature同款 | 跟着顶刊学配色第 26 期

在发表科研论文的过程中,制作精美的绘图能够在第一时间吸引编辑和审稿人的眼球。配色是提升绘图吸引力至关重要的一环,而提升自己配色审美最直接的方法就是跟着顶刊学习。本系列文章收集了顶刊中的绘图,并提取了颜色代码,希望能为…

作者头像 李华
网站建设 2026/8/30 2:31:53

Gin框架架构详解:高性能Go语言Web框架的设计哲学与实践

1 Gin框架简介Gin是一个用Go语言编写的高性能Web框架,以其极简的API设计和卓越的执行效率而闻名。自从2014年发布以来,Gin迅速成为Go生态中最受欢迎的Web框架之一。与那些重型的全栈框架不同,Gin定位为一个轻量级框架,专注于提供H…

作者头像 李华
网站建设 2026/8/29 17:07:18

【OpenHarmony】轻量级公共基础库commonlibrary_utils_lite

OpenHarmony 轻量级公共基础库 (commonlibrary_utils_lite) 模块 目录 模块概述模块结构模块间交互状态机转换图接口设计 1. 模块概述 1.1 功能与目标 主要功能 轻量级公共基础库(commonlibrary_utils_lite)是OpenHarmony系统中的通用基础组件库&…

作者头像 李华
网站建设 2026/8/30 2:47:41

41、Linux系统深入解析与操作指南

Linux系统深入解析与操作指南 1. 基础概念 在Linux系统中,有许多基础概念是理解整个系统的关键。首先是文件系统,它是数据存储和组织的基础。根文件系统(root filesystem)是整个文件系统的核心,位于 / 目录,包含了系统启动和运行所需的基本文件和目录,如 /lib 用于…

作者头像 李华