news 2026/5/26 7:36:53

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/5/25 13:32:32

年会中如何用评委爆灯设备提高现场气氛

在年会活动中,使用评委爆灯设备是一种有效的互动工具,能够通过即时反馈和视觉冲击显著提升现场气氛。以下结合相关实践,从操作方式和效果角度进行说明。爆灯设备的操作方式爆灯设备通常设计为手持或桌面式按钮装置,评委可通过按下…

作者头像 李华
网站建设 2026/5/26 2:46:06

运动耳机选哪款更适配?十款热门运动耳机实测分享

不管是晨跑还是周末户外骑行,耳机如果戴着不舒服、音质一般或者通话有杂音,就很影响运动心情。我自己是个运动狂人,用过多款耳机,也观察过很多运动小伙伴的需求,这篇文章就是把我多年使用运动耳机的感受整理出来&#…

作者头像 李华
网站建设 2026/5/26 0:49:09

12、Linux系统关键组件与工具详解

Linux系统关键组件与工具详解 1. init与inittab文件解析 在Linux系统中,init进程负责解析inittab文件。当解析如下格式的inittab文件时: # characters of the device (after "tty"). # # Format: # <id>:<runlevels>:<action>:<process&g…

作者头像 李华
网站建设 2026/5/26 5:17:17

14、深入探索 Yocto 项目开发工具集

深入探索 Yocto 项目开发工具集 在软件开发的世界里,Yocto 项目为开发者提供了强大的工具和平台,助力定制化应用的开发。本文将深入介绍 Yocto 项目中的多个关键开发工具,包括 ADT 插件、Hob、Toaster 等,帮助开发者更好地理解和使用这些工具。 1. 应用开发工具包(ADT)…

作者头像 李华
网站建设 2026/5/25 11:12:23

DTIIA 5.1、输送能力的计算依据

1、计算程序单台输送机就单台输送机而言&#xff0c;需要进行输送能力&#xff08;或输送带宽度&#xff09;的计算&#xff08;或校核&#xff09;以及功率等其他项目计算。一个系统的输送机就一个系统的输送机而言&#xff0c;则是整个系统进行一次性输送能力&#xff08;或输…

作者头像 李华