算法第八天:leetcode234.回文链表

  给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。

  示例 1:

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

  示例 2:

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

提示:

  • 链表中节点数目在范围[1, 105] 内
  • 0 <= Node.val <= 9

进阶:你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?

 

 该题的实现代码如下所示:

   public boolean isPalindrome(ListNode head) {List<Integer> vals=new ArrayList<Integer>();ListNode currentNode=head;while(currentNode!=null){vals.add(currentNode.val);currentNode=currentNode.next;}int slow=0;int fast=vals.size()-1;while(slow<fast){if(!vals.get(slow).equals(vals.get(fast))){return false;}slow++;fast--;}return true;}

 

 解题的思路如下:1.复制当前节点的数组到新数组vals中;

2.定义快慢指针,如果slow指针的值不等于fast指针的值,则返回false;

3.慢指针slow从起始位置向末端位置查找,而fast快指针则从末端位置向起始位置开始进行查找。

 

  感谢各位读者的阅读与支持,您的支持是我前进的动力!我希望我的博文能够带给您有用的算法知识和启发。希望本题对大家有帮助,谢谢各位读者的支持!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/35923.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面向对象编程——python

目录 一、面向对象编程 1.1 类和对象 1.2 继承 1.3 封装 1.4 多态 1.5 Python中的面向对象编程 二、类、对象和变量 2.1 类&#xff08;Class&#xff09; 2.2.1 类的属性&#xff08;Class Attributes&#xff09; 2.2.2 类的方法&#xff08;Class Methods…

对类与对象的(二)补充

1.Date这样的构造函数 析构函数 拷贝构造 默认构造函数有三种 &#xff1a;全缺省的构造函数 无参的构造函数 和编译器默认生成的构造函数 class Date {pubilc&#xff1a;void Print&#xff08;&#xff09; { } private&#xff1a;//全缺省的int year1;int month1;int …

二叉树的广度优先搜索(层次遍历)

目录 定义 层序遍历的数据结构 实现过程简述 具体代码 定义 层序遍历就是从左到右一层一层地遍历二叉树。 层序遍历的数据结构 层序遍历需要借用一个辅助数据结构实现&#xff0c;由于队列具有先进先出的特性&#xff0c;符合一层一层遍历的逻辑&#xff0c;而栈先进后出…

PHP框架之Laravel框架

Laravel框架详解 Laravel&#xff0c;作为一款广受欢迎的PHP Web开发框架&#xff0c;以其优雅、简洁的语法和强大的功能特性&#xff0c;赢得了全球众多开发者的青睐。下面&#xff0c;我们将从Laravel的特点、应用案例以及具体的框架使用等方面进行详细解析。 一、Laravel框…

甲子光年专访天润融通CEO吴强:客户经营如何穿越低速周期?

作者&#xff5c;陈杨、编辑&#xff5c;栗子 社会的发展从来都是从交流和联络开始的。 从结绳记事到飞马传信&#xff0c;从电话电报到互联网&#xff0c;人类的联络方式一直都在随着时代的发展不断进步。只是传统社会通信受限于技术导致效率低下&#xff0c;对经济社会产生影…

LLaMA:挑战大模型Scaling Law的性能突破

实际问题 在大模型的研发中,通常会有下面一些需求: 计划训练一个10B的模型,想知道至少需要多大的数据?收集到了1T的数据,想知道能训练一个多大的模型?老板准备1个月后开发布会,给的资源是100张A100,应该用多少数据训多大的模型效果最好?老板对现在10B的模型不满意,想…

退市新规解读—财务类强制退市

一、退市风险警示&#xff1a;第一年触及相关指标 上市公司最近一个会计年度触及下列退市风险指标之一&#xff0c;公司股票或存托凭证被实施退市风险警示(*ST)&#xff1a; 第1项 组合类财务指标 仅发行A股或B股&#xff0c;最近一个会计年度或追溯重述后最近一个会计年度 …

Leetcode 102.目标和

给定一个正整数数组 nums 和一个整数 target 。 向数组中的每个整数前添加 ‘’ 或 ‘-’ &#xff0c;然后串联起所有整数&#xff0c;可以构造一个 表达式 &#xff1a; 例如&#xff0c;nums [2, 1] &#xff0c;可以在 2 之前添加 ‘’ &#xff0c;在 1 之前添加 ‘-’ &…

C#面:C#属性能在接口中声明吗?

在C#中&#xff0c;接口是一种定义了一组方法、属性和事件的类型。在接口中&#xff0c;只能声明方法、属性和事件的签名&#xff0c;而不能包含字段、构造函数或实现代码。因此&#xff0c;C#属性不能直接在接口中声明。 然而&#xff0c;你可以在接口中定义属性的签名&#…

VMware的具体使用

&#x1f4d1;打牌 &#xff1a; da pai ge的个人主页 &#x1f324;️个人专栏 &#xff1a; da pai ge的博客专栏 ☁️宝剑锋从磨砺出&#xff0c;梅花香自苦寒来 目录 一&#x1f324;️VMware的安…

用户登录错误次数太多锁定账号

当用户登录验证码错误次数太多时&#xff0c;需要限制用户在10分钟之内不能再次登录。 限制方案&#xff1a; 1.通过Redis ZSet key可以设置为用户名&#xff0c;value可以设置为UUID&#xff0c;score设置为当前时间戳 每次用户登录时&#xff0c;通过 rangeByScore 查询对…

Ubuntu22安装PyCharm

下载&#xff08;社区版&#xff09; 官网下载地址 解压 sudo tar -xzvf pycharm-community-2024.1.4.tar.gz 软件移动到指定目录下&#xff08;根据不同版本修改&#xff09; sudo mv pycharm-community-2024.1.4/ /usr/local/PyCharm/运行 cd /usr/local/PyCharm/pycha…

使用PEFT库进行ChatGLM3-6B模型的LORA高效微调

PEFT库进行ChatGLM3-6B模型LORA高效微调 LORA微调ChatGLM3-6B模型安装相关库使用ChatGLM3-6B模型GPU显存占用准备数据集加载模型加载数据集数据处理数据集处理配置LoRA配置训练超参数开始训练保存LoRA模型模型推理从新加载合并模型使用微调后的模型 LORA微调ChatGLM3-6B模型 本…

6 序列数据和文本的深度学习

6.1 使用文本数据 文本是常用的序列化数据类型之一。文本数据可以看作是一个字符序列或词的序列。对大多数问题&#xff0c;我们都将文本看作词序列。深度学习序列模型(如RNN及其变体)能够从文本数据中学习重要的模式。这些模式可以解决类似以下领域中的问题&#xff1a; 自然…

JVM专题十一:JVM 中的收集器一

上一篇JVM专题十&#xff1a;JVM中的垃圾回收机制专题中&#xff0c;我们主要介绍了Java的垃圾机制&#xff0c;包括垃圾回收基本概念&#xff0c;重点介绍了垃圾回收机制中自动内存管理与垃圾收集算法。如果说收集算法是内存回收的方法论&#xff0c;那么垃圾收集器就是内存回…

【开发者推荐】告别繁琐:一键解锁国产ETL新贵,Kettle的终结者

在数字化转型的今天&#xff0c;数据集成的重要性不言而喻。ETL工具作为数据管理的核心&#xff0c;对企业决策和运营至关重要。尽管Kettle广受欢迎&#xff0c;但国产ETL工具 TASKCTL 以其创新特性和卓越性能&#xff0c;为市场提供了新的选择。 TASKCTL概述 TASKCTL 是一款免…

wget之Win11中安装及使用

wget之Win11中安装及使用 文章目录 wget之Win11中安装及使用1. 下载2. 安装3. 配置环境变量4. 查看及使用1. 查看版本2. 帮助命令3. 基本使用 1. 下载 下载地址&#xff1a;https://eternallybored.org/misc/wget 选择对应的版本进行下载即可 2. 安装 将下载后的wget-1.21.4-w…

中医实训室:在传统针灸教学中的应用与创新

中医实训室是中医教育体系中的重要组成部分&#xff0c;尤其在传统针灸教学中&#xff0c;它扮演着无可替代的角色。这里是理论与实践的交汇点&#xff0c;是传统技艺与现代教育理念的碰撞之地。本文将探讨中医实训室在传统针灸教学中的应用与创新实践。 首先&#xff0c;实训室…

ResultSet的作用和类型

ResultSet的作用&#xff1a; ResultSet在Java中主要用于处理和操作数据库查询结果。它是一个接口&#xff0c;提供了一系列方法来访问和操作数据库查询得到的结果集。具体来说&#xff0c;ResultSet的作用包括&#xff1a; 获取查询结果&#xff1a;通过ResultSet可以获取数…

C++中指针的使用方法

基本概念 指针&#xff1a;一个变量&#xff0c;它存储另一个变量的内存地址。地址运算符 &&#xff1a;用于获取变量的内存地址。间接运算符 *&#xff1a;用于访问指针所指向的变量的值。 声明和初始化 int a 10; // 定义一个整数变量 int *p &a; // 定…