Golang 刷题入门 _重排链表
文章目录
剑指 Offer II 026. 重排链表
Difficulty: **给定一个单链表 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 * 104] 1 <= node.val <= 1000 注意:本题与主站 143 题相同:https://leetcode-cn.com/problems/reorder-list/ **
给定一个单链表 L
的头节点 head
,单链表 L
表示为:
L<sub style="display: inline;">0 </sub>→ L<sub style="display: inline;">1 </sub>→ … → L<sub style="display: inline;">n-1 </sub>→ L<sub style="display: inline;">n </sub>
请将其重新排列后变为:
L<sub style="display: inline;">0 </sub>→ L<sub style="display: inline;">n </sub>→ L<sub style="display: inline;">1 </sub>→ L<sub style="display: inline;">n-1 </sub>→ L<sub style="display: inline;">2 </sub>→ L<sub style="display: inline;">n-2 </sub>→ …
不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。
示例 1:
|
|
示例 2:
|
|
提示:
- 链表的长度范围为
[1, 5 * 10<sup>4</sup>]
1 <= node.val <= 1000
注意:本题与主站 143 题相同:
Solution
Language: ****
|
|
文章作者 LYR
上次更新 2021-08-14