LeetCode 回文链表

这里有用到关于List集合的知识,可看上一篇Java 数组与集合(List, Set, Map)获取长度与遍历操作

解题方法:先将链表存储到动态数组中,然后使用两个指针一头一尾进行遍历操作进行比较

注意:使用equals判断相等,因为链表使用的是Integer类型

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 {
    public boolean isPalindrome(ListNode head) {
        //将链表的值复制到数组中
        List<Integer> array=new ArrayList<Integer>();
        ListNode p=head;
        for(;p!=null;p=p.next){
            array.add(p.val);
        }
        // 双指针法判断
        int first=0;
        int last=array.size()-1;
        while(first<=last){
            if(!array.get(first).equals(array.get(last))){
                return false;
            }
            first++;
            last--;
        }
        return true;

        
    }
}
相关推荐
无极低码10 分钟前
ecGlypher新手安装分步指南(标准化流程)
人工智能·算法·自然语言处理·大模型·rag
软件算法开发34 分钟前
基于海象优化算法的LSTM网络模型(WOA-LSTM)的一维时间序列预测matlab仿真
算法·matlab·lstm·一维时间序列预测·woa-lstm·海象优化
罗超驿1 小时前
独立实现双向链表_LinkedList
java·数据结构·链表·linkedlist
superior tigre1 小时前
22 括号生成
算法·深度优先
努力也学不会java2 小时前
【缓存算法】一篇文章带你彻底搞懂面试高频题LRU/LFU
java·数据结构·人工智能·算法·缓存·面试
旖-旎3 小时前
二分查找(x的平方根)(4)
c++·算法·二分查找·力扣·双指针
ECT-OS-JiuHuaShan3 小时前
朱梁万有递归元定理,重构《易经》
算法·重构
智者知已应修善业3 小时前
【51单片机独立按键控制数码管移动反向,2片74CH573/74CH273段和位,按键按下保持原状态】2023-3-25
经验分享·笔记·单片机·嵌入式硬件·算法·51单片机
khddvbe4 小时前
C++并发编程中的死锁避免
开发语言·c++·算法
C羊驼4 小时前
C语言:两天打鱼,三天晒网
c语言·经验分享·笔记·算法·青少年编程