import java.util.*; /* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/ public class PalindromeList { public boolean chkPalindrome(ListNode A) { // write code here ListNode fast = A; ListNode slow = A; while (!(fast == null || fast.next == null)) { fast = fast.next.next; slow = slow.next; } ListNode tmp = slow.next; while(tmp != null){ ListNode p = tmp.next; tmp.next = slow; slow = tmp; tmp = p; } ListNode head = A; ListNode end = slow; while (head != end) { if (head.val != end.val) { return false; } if (head.next == end) { return true; } head = head.next; end = end.next; } return true; } }