234. 回文链表 题目描述题解(将值复制到数组中后用双指针法)思路将链表的值全部提取到数组或 ArrayList中然后用双指针在数组上进行回文判断。代码classSolution{publicbooleanisPalindrome(ListNodehead){// 1. 将链表中的所有值复制到 ArrayList 中ListIntegervalsnewArrayList();ListNodecurrentNodehead;while(currentNode!null){vals.add(currentNode.val);currentNodecurrentNode.next;}// 2. 使用双指针在 ArrayList 上判断是否回文intfront0;intbackvals.size()-1;while(frontback){// 注意因为存储的是 Integer 对象严谨起见应先转换为基本类型或使用 equalsintfrontValvals.get(front);intbackValvals.get(back);if(frontVal!backVal){returnfalse;}front;back--;}//while (front back) {// if (!vals.get(front).equals(vals.get(back))) {// return false;// }// front;//back--;//}returntrue;}}复杂度分析时间复杂度O(N)O(N)O(N)。遍历一次链表提取值O(N)O(N)O(N)双指针遍历一次数组O(N/2)O(N/2)O(N/2)总体时间依然是线性的。空间复杂度O(N)O(N)O(N)。我们需要开辟一个额外的 ArrayList 来存储整条链表的值。

相关新闻

最新新闻

word常用快捷键

word常用快捷键

CtrlH 替换和查找

2026/7/6 15:05:21
OpenCore Legacy Patcher:一场针对苹果硬件生态的技术革命与架构重构

OpenCore Legacy Patcher:一场针对苹果硬件生态的技术革命与架构重构

OpenCore Legacy Patcher:一场针对苹果硬件生态的技术革命与架构重构 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 在苹果严格的硬件支持策略下…

2026/7/6 15:05:21
软件测试学习笔记

软件测试学习笔记

项目测试流程测试计划的内容: 1. 测试目标:为了啥? 2. 测试范围:有多少?(任务量) 3. 测试时间:干多久? 4. 测试资源:需要啥?(人设备&a…

2026/7/6 15:05:21
匿名管道+进程池

匿名管道+进程池

一、匿名管道管道文件让不同的进程看到同一份资源(内存)管道也是文件5种特性1,匿名管道,只能用来进行具有血缘关系的进程进行进程间通信(常用于父子)2,管道文件,自带同步机制3&#…

2026/7/6 15:05:21
第一篇:Java 语言核心特性与运行机制

第一篇:Java 语言核心特性与运行机制

第 1 章:Java 语言的历史与发展1.1 Java 语言的诞生背景与命名由来Java 语言诞生于20世纪90年代初,由Sun公司团队研发,最初为嵌入式设备开发,后依托互联网发展迭代升级。因早期命名商标受限,正式更名为Java&#xff0c…

2026/7/6 15:05:21
The Structural Scalpel: Automated Contiguous Layer Pruning for Large Language Models

The Structural Scalpel: Automated Contiguous Layer Pruning for Large Language Models

文章核心总结与翻译 一、主要内容 该研究针对大型语言模型(LLMs)部署在资源受限边缘设备时面临的模型规模大、计算成本高的问题,提出了一种新型连续层剪枝框架(CLP)。层剪枝通过直接移除冗余层降低计算开销,但现有方法多孤立评估单个层的重要性,忽略层间依赖关系,易破…

2026/7/6 15:00:21

月新闻