题目
面试题 02.06. 回文链表
编写一个函数,检查输入的链表是否是回文的。
示例 1:
输入: 1->2
输出: false
示例 2:
输入: 1->2->2->1
输出: true
解答
var isPalindrome = function(head) {
// 解法1:转换成数组再判断
// 执行用时:68 ms, 在所有 JavaScript 提交中击败了93.45%的用户
// 内存消耗:41.9 MB, 在所有 JavaScript 提交中击败了67.02%的用户
const arr = [];
while (head){
arr.push(head.val);
head = head.next;
}
for (let i = 0; i < Math.floor(arr.length / 2); ++i) {
if (arr[i] !== arr[arr.length - 1 - i]) {
return false;
}
}
return true;
// 解法2:
};