LeetCode234_234. 回文链表
创始人
2025-05-30 05:54:49
0

LeetCode234_234. 回文链表

一、描述

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

示例 1:

在这里插入图片描述

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

示例 2:

在这里插入图片描述

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

提示:

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

二、题解

方法一:利用栈的特性。给里面的值放到栈里面,然后在给依次取出来栈里面的元素和原有的链表的值比较。

    //方法一:利用栈的特性。给里面的值放到栈里面,然后在给依次取出来栈里面的元素和原有的链表的值比较。// 这是第一反应相到的方法。/*执行结果:通过执行用时:36 ms, 在所有 Java 提交中击败了75.86%的用户内存消耗:58.2 MB, 在所有 Java 提交中击败了22.73%的用户通过测试用例:90 / 90*/public boolean isPalindrome(ListNode head) {Stack stack = new Stack();ListNode dummy = head;//注意定义一个虚拟头节点,防止原有链表结构改变。while (dummy != null) {stack.push(dummy.val);dummy = dummy.next;}while (head != null) {if (head.val == stack.pop()){head = head.next;//相等的话,元素依次往下比较。直到找到不同的元素返回false} else {return false;//直到找到不同的元素返回false}}return true;//没有发现栈和原有链表对应位置上的不同的元素,就代表是回文的,返回true。}

LeetCode 206. 反转链表
LeetCode 207. 课程表
LeetCode 208. 实现 Trie (前缀树)
LeetCode 209. 长度最小的子数组
LeetCode 210. 课程表 II
LeetCode 217. 存在重复元素
LeetCode 229. 多数元素 II
LeetCode 231. 2 的幂
LeetCode 234. 回文链表
LeetCode 237. 删除链表中的节点
LeetCode 242. 有效的字母异位词
LeetCode 257. 二叉树的所有路径



声明:
        题目版权为原作者所有。文章中代码及相关语句为自己根据相应理解编写,文章中出现的相关图片为自己实践中的截图和相关技术对应的图片,若有相关异议,请联系删除。感谢。转载请注明出处,感谢。


By luoyepiaoxue2014

B站: https://space.bilibili.com/1523287361 点击打开链接
微博: http://weibo.com/luoyepiaoxue2014 点击打开链接

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...