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

A.每日一题:234. 回文链表

题目链接:234. 回文链表(简单)

算法原理:

本题与 A.每日一题:876. 链表的中间结点+2130. 链表最大孪生和 中的 2130题基本一模一样,只是在部分地方有修改,这里就不过多赘述了,大家可以自行参考上面这篇博客~~

解法一:双指针+顺序表

7ms击败35.92%

时间复杂度O(N)

解法二:递归

17ms击败6.07%

时间复杂度O(N)

解法三:迭代

5ms击败59.18%

时间复杂度O(N)

Java代码:

/** * 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 { //234. 回文链表 //解法一:双指针+顺序表 public boolean isPalindrome(ListNode head) { List<Integer> list=new ArrayList<>(); ListNode cur=head; while(cur!=null){ list.add(cur.val); cur=cur.next; } int left=0,right=list.size()-1; while(left<right){ if(list.get(left)!=list.get(right)) return false; left++;right--; } return true; } }
/** * 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 { //234. 回文链表 //解法二:递归 private ListNode left; public boolean isPalindrome(ListNode head) { left=head; return dfs(head); } private boolean dfs(ListNode right){ //递:先把right移到链表末尾 if(right.next!=null&&!dfs(right.next)) return false; //归:从右到左遍历链表 if(left.val!=right.val) return false; //left 往右走 left=left.next; //归:right会往左走 return true; } }
/** * 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 { //234. 回文链表 //解法三:递归 public boolean isPalindrome(ListNode head) { ListNode mid=middleNode(head); ListNode head2=reverseList(mid); while(head2!=null){ if(head.val!=head2.val) return false; head=head.next; head2=head2.next; } return true; } //876.链表的中间结点 private ListNode middleNode(ListNode head){ ListNode slow=head; ListNode fast=head; while(fast!=null&&fast.next!=null){ slow=slow.next; fast=fast.next.next; } return slow; } //206.反转链表 public ListNode reverseList(ListNode head) { ListNode pre=null; ListNode cur=head; while(cur!=null){ ListNode nxt=cur.next; cur.next=pre; pre=cur; cur=nxt; } return pre; } }
http://www.jsqmd.com/news/1026925/

相关文章:

  • 宜昌房屋渗漏水检测维修、卫生间漏水免砸砖维修、漏水点精准检测、厨房漏水防水补漏、正规防水补漏公司、口碑榜TOP5靠谱推荐、本地人必选的防水维修公司 - 安佳防水
  • 嵌入式USB开发实战:从Freescale协议栈配置到调试优化全解析
  • Sqribble:可执行的文档操作系统与出版自动化实践
  • 2026年工装装修公司推荐排行榜:办公楼/厂房/店铺/酒店/商场装修,专业设计与品质施工实力品牌精选 - 品牌发掘
  • 淮北漏水检测维修权威推荐:卫生间-厨房-阳台-屋顶天花板漏水维修:靠谱防水补漏公司团队TOP5推荐(2026最新深度调研实测榜单) - 即刻修防水
  • 2026年青绿苔草优质生产企业官方甄选指南:从苗圃品质到景观工程的全维度分析 - 优质品牌商家
  • 巧用进程伪装与窗口吸附技术,实现游戏直播稳定画面采集
  • 2026年南宁装修墙板市场盘点:五家专业服务商深度解析与选择建议 - 品牌鉴赏官2026
  • 淄博漏水检测维修权威推荐:卫生间-厨房-阳台-屋顶天花板漏水维修:靠谱防水补漏公司团队TOP5推荐(2026最新深度调研实测榜单) - 即刻修防水
  • 自动驾驶工程师:横跨感知、规控、安全的硬核工程角色
  • 淮南漏水检测维修权威推荐:卫生间-厨房-阳台-屋顶天花板漏水维修:靠谱防水补漏公司团队TOP5推荐(2026最新深度调研实测榜单) - 即刻修防水
  • 班组长管理培训常见FAQ|南德管理咨询实战解答
  • 2026乐山鳝丝品牌甄选本地人反复光顾的临江鳝丝门店指南 - 优质品牌商家
  • 2026年硼砂品牌官方甄选指南:从供应链到技术服务综合考量 - 优质品牌商家
  • 如何让重要网页永不消失?网页时光机浏览器扩展揭秘
  • 2026年 东三省体育培训/沈阳体育四项集训/辽宁体育升学指导榜单:体育统招升学与全日制补习机构深度推荐 - 品牌发掘
  • 2026年 船舶漆/工业防腐漆厂家推荐榜单:防污漆/自抛光防污漆/无铜防污漆/低表面能防污漆/海洋工程漆品牌实力解析与选购指南 - 品牌发掘
  • Grbl_Esp32架构革新:ESP32平台上的高精度CNC控制算法与模块化设计突破
  • 2026年现阶段,湖北十堰市哪些换挡护套公司值得信赖? - 品牌鉴赏官2026
  • 痛苦只在我痛的时候说话——沉默的伦理模块
  • 宁德房屋渗漏水检测维修、卫生间漏水免砸砖维修、漏水点精准检测、厨房漏水防水补漏、正规防水补漏公司、口碑榜TOP5靠谱推荐、本地人必选的防水维修公司 - 安佳防水
  • 2026年深圳知识产权诉讼律师推荐:5位双资质实战专家 - 本地品牌推荐
  • 5个关键步骤:掌握VirtualApp安卓沙盒技术,实现应用多开与安全隔离
  • 济南漏水检测维修权威推荐:卫生间-厨房-阳台-屋顶天花板漏水维修:靠谱防水补漏公司团队TOP5推荐(2026最新深度调研实测榜单) - 即刻修防水
  • 2026年 专业音响系统十大品牌推荐榜:北京酒吧音响/上海舞台音响/户外演出音响/多功能厅音响/KTV音响设备/酒店宴会厅音响最新精选! - 品牌发掘
  • 如何为旧款Mac注入新生命:终极兼容性解决方案完整指南
  • 太原房屋渗漏水检测维修、卫生间漏水免砸砖维修、漏水点精准检测、厨房漏水防水补漏、正规防水补漏公司、口碑榜TOP5靠谱推荐、本地人必选的防水维修公司 - 安佳防水
  • 2026年深圳公司注销代办优选榜单:宝安工商注销/个体户注销/空壳公司注销办理权威指南与避坑推荐 - 品牌发掘
  • 2026成都艺考文化补习机构实测评测:聚焦核心维度 - 优质品牌商家
  • 如何5分钟内彻底告别Windows文件管理混乱:终极智能标签解决方案