T6——剑指 Offer 24. 反转链表

定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。

 

示例:

输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL

解题思路: 迭代

/**
 * Definition for singly-linked list.
 * class ListNode {
 *     val: number
 *     next: ListNode | null
 *     constructor(val?: number, next?: ListNode | null) {
 *         this.val = (val===undefined ? 0 : val)
 *         this.next = (next===undefined ? null : next)
 *     }
 * }
 */

function reverseList(head: ListNode | null): ListNode | null {
   let prev = null
  while (head) {
    const next  = head.next
    head.next = prev
    prev = head
    head = next
  }
  return prev
};

 

posted @ 2022-02-08 15:16  山海南坪  阅读(23)  评论(0编辑  收藏  举报