# 原题
请判断一个链表是否为回文链表。
示例 1:
输入: 1->2
输出: false
示例 2:
输入: 1->2->2->1
输出: true
进阶:
你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?
# 解 :
var isPalindrome = function (head) {
let arr = []
while (head) {
arr.push(head.val)
head = head.next
}
//判断回文,即左右相等,所以可以只遍历一半
for (let i = 0; i < arr.length / 2; i++) {//首尾是否相等
if (arr[i] !== arr[arr.length - 1 - i]) {
return false
}
}
return true
};