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

day13 leetcode-hot100-24(链表3)

234. 回文链表 - 力扣(LeetCode)

1.转化法

思路

        将链表转化为列表进行比较

复习到的知识

        arraylist的长度函数:list.size()

具体代码
/*** 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 {public boolean isPalindrome(ListNode head) {ListNode n = head;List<Integer> list = new ArrayList<>();while(n!=null){list.add(n.val);n=n.next;}int l=0;int r=list.size()-1;while(l<r){if(list.get(l)!=list.get(r)){return false;}l++;r--;}return true;}
}

 2.反转法

思路

        将后半段链表反转,然后进行比较。

知识

        取单链表的中间节点:快慢指针

具体代码
/*** 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 {public boolean isPalindrome(ListNode head) {ListNode n1 = secondL(head);ListNode n2 = reverseL(n1.next);ListNode p1 = head;ListNode p2 = n2;while(p2!=null){if(p1.val != p2.val){return false;}p1=p1.next;p2=p2.next;}return true;}public ListNode reverseL(ListNode l){ListNode old = null;ListNode current = l;while(current!=null){ListNode tem = current.next;current.next = old;old =current;current= tem;}return old;}public ListNode secondL(ListNode l){ListNode slow = l;ListNode fast = l;while(fast.next!=null && fast.next.next!=null){slow = slow.next;fast = fast.next.next;}return slow;}
}

http://www.xdnf.cn/news/9804.html

相关文章:

  • 如何利用categraf的exec插件实现对Linux主机系统用户及密码有效期进行监控及告警?
  • 序列化与反序列化
  • 【电路笔记 TMS320F28335DSP】McBSP 从源时钟得到 生成时钟 CLKG 帧同步信号 FSG
  • 【ARM】【FPGA】【硬件开发】Chapter.1 AXI4总线协议
  • 智能穿戴新标杆:SD NAND (贴片式SD卡)与 SOC 如何定义 AI 眼镜未来技术路径
  • pikachu靶场通关笔记08 XSS关卡04-DOM型XSS
  • uniapp 开发企业微信小程序时,如何在当前页面真正销毁前或者关闭小程序前调用一个api接口
  • 华为OD机试真题——Boss的收入(分销网络提成计算)(2025A卷:100分)Java/python/JavaScript/C/C++/GO最佳实现
  • Hive自定义函数案例(UDF、UDAF、UDTF)
  • kafka学习笔记(三、消费者Consumer使用教程——从指定位置消费)
  • PostgreSQL数据库配置SSL操作说明书
  • Java互联网大厂面试:从Spring Boot到Kafka的技术深度探索
  • ai工具集:AI材料星ppt生成,让你的演示更出彩
  • Codeforces Round 1025 (Div. 2)
  • springcloud openfeign 请求报错 java.net.UnknownHostException:
  • 小型语言模型:为何“小”才是“大”?
  • 【Python】3.函数与列表
  • RFID测温芯片助力新能源产业安全与能效提升
  • C++容器进阶:深入解析unordered_map与unordered_set的前世今生
  • python打卡day39
  • 【机器学习基础】机器学习入门核心算法:K均值(K-Means)
  • Spring Boot测试框架全面解析
  • 甘特图 dhtmlxGantt.js UA实例
  • SpringMVC核心原理与前后端数据交互机制详解
  • MultipartEntityBuilder上传文件解决中文名乱码
  • openEuler安装MySql8(tar包模式)
  • 阿里通义实验室突破空间音频新纪元!OmniAudio让360°全景视频“声”临其境
  • 核心知识点:惯性导航(Inertial Navigation)
  • 【python深度学习】Day 39 图像数据与显存
  • 在 Ubuntu 服务器上 下载 Clash 文件使用代理