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; } }

浙公网安备 33010602011771号