给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。

    示例 1:
    输入:head = [1,2,3,4,5]
    输出:[5,4,3,2,1]
    示例 2:
    输入:head = [1,2]
    输出:[2,1]
    示例 3:
    输入:head = []
    输出:[]

    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 {ListNode}
    11. */
    12. var reverseList = function (head) {
    13. let prev = null;
    14. let curr = head;
    15. while (curr) {
    16. const next = curr.next;
    17. // 反转
    18. curr.next = prev;
    19. prev = curr;
    20. curr = next;
    21. }
    22. return prev
    23. };

    image.png