题目描述
请判断一个链表是否为回文链表。
示例 1:
输入: 1->2
输出: false
示例 2:
输入: 1->2->2->1
输出: true
进阶:
你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?
解题思路
通过将每个链表节点值存入nodeArr数组中,最后通过双指针一正一反进行比较。
const isPalindrome = function(head) {
let nodeArr = []
while(head) {
nodeArr.push(head.val)
head = head.next
}
for(let i = 0, j = nodeArr.length - 1; j >= i; i++, j--)
if (nodeArr[i] !== nodeArr[j]) return false
return true
};
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/palindrome-linked-list
网友评论