news 2026/5/16 0:46:59

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/13 0:56:32

基于Web平台的学业质量分析系统

基于Web平台的学业质量分析系统设计与实现 一、系统开发背景与核心价值 在教育数字化转型的浪潮下,高校对学业质量的精细化管理需求日益迫切。传统学业分析模式依赖人工统计成绩、制作报表,存在数据处理效率低、分析维度单一、决策支撑不足等问题&#x…

作者头像 李华
网站建设 2026/5/13 16:46:03

作业批改系统

基于Web的智能作业批改系统设计与实现 一、系统开发背景与核心价值 在教育数字化转型进程中,传统作业批改模式面临效率低下、反馈滞后、个性化指导不足等痛点。教师需花费大量时间批改重复性作业,难以快速掌握学生知识薄弱点;学生等待批改结果…

作者头像 李华
网站建设 2026/5/13 18:57:10

合同范围管理在信息化项目交付实施中的实践与控制

引言 在信息化项目交付中,合同范围是项目的“边界线”,定义了“做什么”和“不做什么”。作为项目经理,我深知合同范围管理的成败直接决定项目交付的质量、成本与工期——模糊的范围定义会导致需求蔓延、返工频发;缺失的技术约束…

作者头像 李华
网站建设 2026/5/12 18:14:45

12.15 脚本工具 找c函数原型

一 场景,我们在阅读源码的时候,c默认调用看不到函数类型,函数返回值,所以需要查看函数原型。二 功能,脚本是批量寻找所有引入的文件。 将函数调用和函数原型放在一起。三,使用,termux 或linux&…

作者头像 李华