当前位置: 首页 > 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.zskr.cn/news/1538801.html

相关文章:

  • 淄博漏水检测维修权威推荐:卫生间-厨房-阳台-屋顶天花板漏水维修:靠谱防水补漏公司团队TOP5推荐(2026最新深度调研实测榜单) - 即刻修防水
  • 2026年 船舶漆/工业防腐漆厂家推荐榜单:防污漆/自抛光防污漆/无铜防污漆/低表面能防污漆/海洋工程漆品牌实力解析与选购指南 - 品牌发掘
  • 2026年现阶段,湖北十堰市哪些换挡护套公司值得信赖? - 品牌鉴赏官2026
  • 费用项分散上升阶段跨境卖家如何把利润核算拆到变体层级
  • 2026南充钢板租赁选型推荐:南充汽车吊租赁/南充起重吊车租赁/南充路基箱租赁/技术维度全解析 - 优质品牌商家
  • NXP GreenBox电驱开发平台:基于S32与Arm Cortex的HEV/EV预集成HIL解决方案
  • 2026成都宠物托运与寻宠服务品牌官方甄选参考 - 优质品牌商家
  • 77、线程池原理和实现------服务器源码解析----云视频服务项目
  • 嵌入式Bootloader无缝集成设计:从内存规划到安全跳转的实战指南
  • 2026年新发布:绥化阳光房生产厂家综合实力深度解析 - 品牌鉴赏官2026
  • Microchip 2002年全球支持网络:从渠道架构到PIC开发生态的深度解析
  • PIC16F639在智能无线传感节点中的低功耗设计与实现
  • MAA明日方舟自动化助手:如何彻底解放你的游戏时间
  • 基于状态机的PIC单片机SPI EEPROM非阻塞驱动设计与实现
  • 嘉兴房屋渗漏水检测维修、卫生间漏水免砸砖维修、漏水点精准检测、厨房漏水防水补漏、正规防水补漏公司、口碑榜TOP5靠谱推荐、本地人必选的防水维修公司 - 安佳防水
  • 图像去雾算法架构全解析:从物理模型到深度学习实战对比
  • Stateflow状态机建模:开关控制LED灯状态
  • NL2SQL 技术原理与业务价值
  • 2026年宜宾榻榻米定制厂家排行及选型参考 - 优质品牌商家
  • PDF复杂表格的1:1还原引擎:跨页表格自动拼接技术实战
  • 泰州漏水检测维修权威推荐:卫生间-厨房-阳台-屋顶天花板漏水维修:靠谱防水补漏公司团队TOP5推荐(2026最新深度调研实测榜单) - 即刻修防水
  • 华硕笔记本终极优化指南:告别卡顿与耗电的完整解决方案
  • 音频深度伪造检测的跨域挑战与模块化解决方案
  • SoftCnKiller:精准清除流氓软件的数字签名黑名单工具
  • 2026年江西统招专升本/全日制专升本/应届生专升本推荐榜单:高数/理工/医学/教育等多专业深度解析与线上线下集训口碑之选 - 品牌发掘
  • 告别复杂环境配置 Windows 运行 Hermes 智能工具教程
  • QorIQ处理器PBL引导全解析:从RCW配置到U-Boot加载实战
  • PCB热转印文字:小批量电路板精准标注的终极方案
  • 到底能不能用积分制激励管理孩子呢
  • 台州房屋渗漏水检测维修、卫生间漏水免砸砖维修、漏水点精准检测、厨房漏水防水补漏、正规防水补漏公司、口碑榜TOP5靠谱推荐、本地人必选的防水维修公司 - 安佳防水