题目:234回文链表
代码:
/**
* Definition for singly-linked list.
* function ListNode(val) {
* this.val = val;
* this.next = null;
* }
*/
/**
* @param {ListNode} head
* @return {boolean}
*/
var isPalindrome = function(head) {
if(!head || !head.next){
return true
}
var slowHead = head;
var fastHead = head;
var preHead = head;
var prepre = null;
while(fastHead != null && fastHead.next !=null){
preHead = slowHead;
fastHead = fastHead.next.next;
slowHead = slowHead.next;
preHead.next = prepre;
prepre = preHead;
}
if(fastHead != null){
slowHead = slowHead.next;
}
while(preHead!=null && slowHead!=null){
if(preHead.val !=slowHead.val){
return false;
}
preHead = preHead.next
slowHead = slowHead.next
}
return true;