【LC】234. 回文链表

题目描述:

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

示例 1:

复制代码
输入:head = [1,2,2,1]
输出:true

示例 2:

复制代码
输入:head = [1,2]
输出: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> list = new ArrayList<>();
        while (head != null) {
            list.add(head.val);
            head = head.next;
        }
        int left = 0, right = list.size() - 1;
        while (left <= right) {
            if (!list.get(left).equals(list.get(right))) {
                return false;
            }
            left++;
            right--;
        }
        return true;
    }
}
相关推荐
无巧不成书02183 分钟前
Java数值字面量速查表
java·开发语言·python·开发者·字面量
美式请加冰8 分钟前
模拟的介绍和使用
java·开发语言·算法
云泽80812 分钟前
蓝桥杯算法精讲:贪心算法之区间问题深度剖析
算法·贪心算法·蓝桥杯
tankeven13 分钟前
HJ129 小红的双生数
c++·算法
万能的小裴同学13 分钟前
C++ 简易的FBX查看工具
开发语言·c++·算法
Boop_wu14 分钟前
[Java 算法] 前缀和(2)
算法·哈希算法·散列表
菜菜小狗的学习笔记15 分钟前
剑指Offer算法题(二)栈、队列、堆
java·开发语言
李宥小哥23 分钟前
SQLite04-表数据管理
java·jvm·数据库
李宥小哥23 分钟前
SQLite05-常用函数
java·开发语言·jvm
huohuopro23 分钟前
idea配置servlet项目
java·servlet·intellij-idea