234. 回文链表

请判断一个链表是否为回文链表。

示例 1:

输入: 1->2
输出: false
示例 2:

输入: 1->2->2->1
输出: true
进阶:
你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?

/*解题思路:链表转化为列表,直接操作*/

/**
* Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */
class Solution { public boolean isPalindrome(ListNode head) { List<ListNode> list = new ArrayList<>(); ListNode temp = head; int len=0;//获取链表长度 while(temp != null){ len++; list.add(temp); temp = temp.next; } // System.out.println("长度"+len); int i=0; int j=len-1; while(i<j){ if(list.get(i).val != list.get(j).val){ return false; } i++; j--; } return true; } }

 

posted @ 2020-10-23 09:47  进击的小渣渣!!  阅读(64)  评论(0)    收藏  举报