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

链表-回文链表

回文链表

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

输入:链表
输出:布尔值
思路:将链表的值存到数组列表中。然后使用双指针对数组列表进行遍历,判断值是否相同

/**
 * 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) {
        //使用数组列表存储数值,然后使用双指针进行判断
        List<Integer> tmpList = new ArrayList<>();
        //遍历链表
        while(head != null){
            //将值存进数组列表中
            tmpList.add(head.val);
            //移动链表
            head = head.next;
        }
        //定义双指针
        int left = 0;
        int right = tmpList.size() - 1;
        //遍历数组列表
        while(left < right){
            if(!tmpList.get(left).equals(tmpList.get(right))){
                return false;
            }
            left++;
            right--;
        }
        return true;
    }
}

注意:在力扣中使用双等号和equals()方法是一个效果,但是显然两者是不同的,==对于基本变量(byte,short,int,long,float,double,boolean,char)来说是比较值,而对于引用数据类型(String,Integer,类、接口、数组)来说是比较地址是否相同,
对于equals方法,注意:equals方法不能作用于基本数据类型的变量
如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址;
诸如String、Date等类对equals方法进行了重写的话,比较的是所指向的对象的内容

http://www.dtcms.com/a/39740.html

相关文章:

  • Spring Boot集成MyBatis访问MySQL:从项目搭建到基础数据库查询(基础入门)
  • 网络安全考什么证_网络安全认证:软考证书成行业新宠
  • URL 对字母大小写敏感么?
  • CF1305C Kuroni and Impossible Calculation
  • AI人工智能机器学习之监督学习和集成学习
  • W803|联盛德|WM IoT SDK2.X测试|(1)开箱:开发板及说明
  • Java Junit框架
  • 【11】RUST使用cargo组织crate
  • 物理先验+数据增强的蛋白-小分子亲和力打分模型 EquiScore 评测
  • 示例:JAVA调用deepseek
  • 机试刷题_674. 最长连续递增序列【python】
  • DevSecOps普及:安全与开发运维的深度融合
  • vllm的使用方式,入门教程
  • 技术速递|.NET 9 网络优化
  • [已解决]dify设置本地模型deepseek报错[Error 111]
  • vue深拷贝:1、使用JSON.parse()和JSON.stringify();2、使用Lodash库;3、使用深拷贝函数(采用递归的方式)
  • MemoryCache内存缓存数据
  • 算法仿真平台搭建1-FFMPEG+RtspSever快速搭建一个RTSP服务器
  • 【苍穹外卖】问题笔记
  • Pytorch框架06-现有网络模型(修改/使用/保存/加载)
  • Ubuntu 安装 Nginx并配置反向代理
  • 工作中遇到的设计模式整理
  • Uniapp 小程序接口封装与使用
  • 使用 Postman 访问 Keycloak 端点
  • 强化学习演进:GRPO 从何而来
  • 数组总结【代码随想录】
  • Docker数据卷操作实战
  • centos22.04 dpkg -l 输出状态标识含义
  • HTTP非流式请求 vs HTTP流式请求
  • 金融行业专题|某基金公司基于超融合信创平台支持人大金仓数据库的性能评测