aaron-huber-TKlxnmThieI-unsplash.jpg
    简单给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。
    示例 1:
    LC.回文链表 - 图2
    输入:head = [1,2,2,1]
    输出:true
    示例 2:
    LC.回文链表 - 图3
    输入:head = [1,2]
    输出:false

    作者:力扣 (LeetCode)
    链接:https://leetcode-cn.com/leetbook/read/linked-list/fov6t/
    来源:力扣(LeetCode)
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    1. /**
    2. * Definition for singly-linked list.
    3. * function ListNode(val, next) {
    4. * this.val = (val===undefined ? 0 : val)
    5. * this.next = (next===undefined ? null : next)
    6. * }
    7. */
    8. /**
    9. * @param {ListNode} head
    10. * @return {boolean}
    11. */
    12. var isPalindrome = function (head) {
    13. if (!head.next) {
    14. return true;
    15. }
    16. const a = [];
    17. let p = head;
    18. while (p !== null) {
    19. a.push(p.val);
    20. p = p.next;
    21. }
    22. let left = 0;
    23. let right = a.length - 1;
    24. while (left < right) {
    25. if (a[left] !== a[right]) {
    26. return false;
    27. }
    28. left++;
    29. right--;
    30. }
    31. return true;
    32. };