当前位置: 首页 > news >正文

备战蓝桥杯————如何判断回文链表

如何判断回文链表

题目描述

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

示例 1:

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

示例 2:

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

提示:

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

解题思路及代码

  •         使用快慢指针法找到链表的中间节点,快指针每次走两步,慢指针每次走一步,当快指针到达链表尾部时,慢指针恰好到达中间节点。
  •         根据是否有偶数个节点,将慢指针指向下一个节点,以确保慢指针指向后半部分链表的起始节点。
  •         将后半部分链表反转。
  •         逐一比较前半部分链表和反转后的后半部分链表的节点值,如果全部相同,则链表是回文的,否则不是。
/*** 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; }* }*/
class Solution {boolean isPalindrome(ListNode head) {ListNode slow, fast;slow = fast = head;while (fast != null && fast.next != null) {slow = slow.next;fast = fast.next.next;}if (fast != null)slow = slow.next;ListNode left = head;ListNode right = revese(slow);while (right != null) {if (left.val != right.val)return false;left = left.next;right = right.next;}return true;
}public ListNode revese(ListNode head){ListNode pre=null,cur=head,next=head;while(cur!=null){next=cur.next;cur.next=pre;pre=cur;cur=next;}return pre;}
}

结果展示

http://www.lryc.cn/news/307567.html

相关文章:

  • linux 文本编辑命令【重点】
  • C#面:ref 和 out 的区别
  • php脚本输出中文在浏览器中显示乱码
  • 【Unity每日一记】角色控制器Character Contorller
  • Kafka入门介绍一
  • leetcode 3.反转链表;
  • 【蓝桥杯】快读|min和max值的设置|小明和完美序列|​顺子日期​|星期计算|山
  • 半小时到秒级,京东零售定时任务优化怎么做的?
  • stm32——hal库学习笔记(ADC)
  • 一周学会Django5 Python Web开发-Http请求HttpRequest请求类
  • element el-date-picker 日期组件置灰指定日期范围、禁止日期范围日期选择
  • 202434读书笔记|《繁星·春水》——残花缀在繁枝上,鸟儿飞去了,撒得落红满地,生命也是这般的一瞥么?
  • Golang 关于 interface 接口的理解
  • SQL注入漏洞解析--less-7
  • java高级——反射
  • 云计算新宠:探索Apache Doris的云原生策略
  • 【PHP设计模式08】装饰模式
  • 寒假作业Day 01
  • 学习JAVA的第四天(基础)
  • 拉美巴西阿根廷媒体宣发稿墨西哥哥伦比亚新闻营销如何助推跨境出海推广?
  • SpringMVC 学习(九)之拦截器
  • TCP/IP-常用网络协议自定义结构体
  • 内部控制提纲
  • 江科大stm32 定时器 TIM输出比较--学习笔记
  • VHDL-2008语言支持
  • linux系统git的安装和配置
  • oracle11g数据库 冷备份与冷恢复
  • 考研数据结构算法机试训练1
  • SAP PO接口行项目json缺少中括号[]问题
  • STM32_DS18B20_1_芯片简介及初始化配置