zhangdizhangdi

206.反转链表

题目

LeetCode 简单

题目

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

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

题解

迭代 O(n) O(1)

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

const list = new LinkedList([1, 2, 3, 4, 5])
console.log('🌰', reverseList(list.head))