reverse()和join(),使用数组保存链表每个节点的值,然后判断原数组和反转数组是否相同。
var isPalindrome = function(head) {
let cur = head;
let arr = [];
while(cur){
arr.push(cur.val);
cur = cur.next;
}
return arr.join('-')===arr.reverse().join('-');
};
双指针,使用数组保存链表每个节点的值,使用双指针判断是否是回文数组。
var isPalindrome = function(head) {
let cur = head;
let arr = [];
while(cur){
arr.push(cur.val);
cur = cur.next;
}
for(let i = 0, j = arr.length - 1; i < j; i++, j--){
if(arr[i] !== arr[i])return false;
}
return true;
};