美文网首页
回文链表

回文链表

作者: 422ccfa02512 | 来源:发表于2020-12-16 23:28 被阅读0次

    题目描述

    请判断一个链表是否为回文链表。

    示例 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

    相关文章

      网友评论

          本文标题:回文链表

          本文链接:https://www.haomeiwen.com/subject/ozqagktx.html