一个虚拟主机如何做两个网站,sae wordpress ftp,asp.net做的网站,烟台网站制作哪家好文章目录 题目描述代码 题目描述
给你一个单链表的头节点 head #xff0c;请你判断该链表是否为 回文链表 。如果是#xff0c;返回 true #xff1b;否则#xff0c;返回 false 。
示例 1#xff1a;
输入#xff1a;head [1,2,2,1] 输出#xff1a;true 示例 2请你判断该链表是否为 回文链表 。如果是返回 true 否则返回 false 。
示例 1
输入head [1,2,2,1] 输出true 示例 2
输入head [1,2] 输出false
提示
链表中节点数目在范围[1, 105] 内 0 Node.val 9
进阶你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题
代码
/*** 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) {ListInteger list new ArrayList();ListNode cur head;//遍历一边链表把val都存到list中while (cur ! null) {list.add(cur.val);cur cur.next;}int front 0;int end list.size() - 1;//双指针比较是否为回文while (front end) {if (!list.get(front).equals(list.get(end))) {return false;}front;end--;}return true;}
}