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 分钟前
B3842 [GESP202306 三级] 春游 题解
数据结构·c++·算法·题解
atunet12 分钟前
树状结构在查询优化中的作用与实现细节7
算法
徐凤年_1 小时前
rog_map参数理解
算法
春日见1 小时前
算法与数据结构----哈希表
数据结构·人工智能·算法·机器学习·自动驾驶·哈希算法·散列表
叩码以求索1 小时前
统计按位或能得到最大值的子集数目(一)
数据结构·算法
tachibana22 小时前
hot100 数组中的第K个最大元素(215)
java·数据结构·算法·leetcode
txzrxz2 小时前
单调队列讲解
数据结构·c++·算法·单调队列
不会就选b3 小时前
算法日常・每日刷题--<快排>4
算法
Keven_113 小时前
算法札记:树状数组的用途
数据结构·算法
用户677437175813 小时前
C++函数参数传递方式详解:string、string&、const string、const string&该怎么选?
算法