package
0.0.0-20230809123828-b071cee2968a
Repository: https://github.com/codehanhan/leetcode-go.git
Documentation: pkg.go.dev

# README

143.重排链表

1. 题目描述

给定一个单链表 L 的头节点 head ,单链表 L 表示为:


L0 → L1 → … → Ln - 1 → Ln

请将其重新排列后变为:


L0 → Ln → L1 → Ln - 1 → L2 → Ln - 2 → …

不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。

示例 1:


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

示例 2:


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

提示:

  • 链表的长度范围为 [1, 5 * 10^4]
  • 1 <= node.val <= 1000

标签 递归 链表 双指针

2. 解题

先找到链表的中点,将后半部分链表反转,将反转后的链表和前半部分链表依次合并