Skip to content

Latest commit

 

History

History
59 lines (42 loc) · 1.09 KB

File metadata and controls

59 lines (42 loc) · 1.09 KB

反转链表

难度:简单

https://leetcode-cn.com/problems/reverse-linked-list/

题目

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

示例

示例 1:

reverse-linked-list-1

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

示例 2:

reverse-linked-list-2

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

示例 3:

输入:head = []
输出:[]

解题

/**
 * 迭代
 * @desc 时间复杂度 O(N)  空间复杂度 O(1)
 * @param head
 * @returns
 */
export function reverseList(head: ListNode | null): ListNode | null {
  if (!head || !head.next) return null;

  const dummy = new ListNode(0);

  while (head) {
    dummy.next = new ListNode(head.val, dummy.next);
    head = head.next;
  }

  return dummy.next;
}