Javascript in LeetCode

leetCode (js):234. 回文链表

2018-11-26  本文已影响1人  i7eo

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

示例 1:

输入: 1->2
输出: false

示例 2:

输入: 1->2->2->1
输出: true
var isPalindrome = function(head) {
        var p = head,
            q = null,
            initVal = head;
        while(head) {
            var tmp = head;
            head = head.next;
            tmp.next = q;
            q = tmp;
        }

        if(JSON.stringify(initVal) === JSON.stringify(q)) return true;

        return false;
    };

思路是先把链表反转然后stringify,和之前的链表进行对比。但是leetcode在使用stringify时会报溢出错误,这个暂时不太清楚什么原因。下面列出网友的另一种思路:

var isPalindrome = function(head) {
    let first = '';
    let second = '';
    while (head) {
        first = first + head.val;
        second = head.val + second;
        head = head.next;
    }
    return first === second;
};
上一篇下一篇

猜你喜欢

热点阅读