234. 回文链表 --力扣 --JAVA

题目

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

解题思路

  1. 判断链表是否为回文链表取决于链表中各个节点的值,所以可以通过存储各节点的值进行对比判断;
  2. 链表的长度在遍历之前是无法获取的,所以使用list比链表相对好一点;
  3. 回文链表是对称链表;

代码展示

java 复制代码
class Solution {
    public boolean isPalindrome(ListNode head) {
        List<Integer> data = new ArrayList<>();
        while (head != null){
            data.add(head.val);
            head = head.next;
        }
        for (int i = 0; i < data.size() / 2; i++){
            if(!Objects.equals(data.get(i), data.get(data.size() - 1 - i))){
                return false;
            }
        }
        return true;
    }
}
相关推荐
刘马想放假8 小时前
Modbus 全栈技术解析:TCP、RTU、ASCII、RTU over TCP
数据结构·网络协议
05Kevin9 小时前
lk每日冒险题--数据结构6.27
算法
To_OC20 小时前
从一次栈溢出报错说起,我把递归彻底扒明白了
javascript·算法·程序员
千纸鹤安安1 天前
千问Qwen-AgentWorld来了:一个语言模型搞定七大Agent场景,GPT-5.4都输了
算法
七牛开发者1 天前
MCP 到底是什么?为什么 Agent 都想接上它
算法·aigc·agent
北域码匠1 天前
冒泡排序太慢?鸡尾酒排序双向优化,原生 C# 零第三方库完整代码
数据结构·排序算法·泛型·c# 算法·鸡尾酒排序·原生 c# 开发·冒泡排序优化·嵌入式算法
kisshyshy1 天前
从递归到迭代,一文吃透二叉树的核心知识与 JavaScript 实现
javascript·算法·代码规范