给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。
    示例 1:
    image.png

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

    示例 2:
    image.png

    1. 输入:head = [1,2]
    2. 输出:[2,1]

    示例 3:

    1. 输入:head = []
    2. 输出:[]

    提示:

    • 链表中节点的数目范围是 [0, 5000]
    • -5000 <= Node.val <= 5000
      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. curr.next = prev;
      18. prev = curr;
      19. curr = next;
      20. }
      21. return prev;
      22. };