合并排序用于链表

Go Hard sorting

任务 «合并排序用于链表»

给定一个由整数组成的单向链表。需要对该链表实现归并排序。输入数据:元素数量及元素本身。输出数据:排序后的链表,元素之间用空格分隔。限制条件:元素数量不超过10^5,数值范围在-10^9到10^9之间。要求使用时间复杂度为O(n log n)的归并排序算法,且不得使用额外的数组来存储数值。

输入格式

第一行:整数 n (1 ≤ n ≤ 10^5) — 元素的数量。第二行:n 个整数,以空格分隔。

输出格式

一行:n个整数,以空格分隔——排序后的列表。

示例

示例 1

输入
6 -5 0 10 3 -2 7
输出
-5 -2 0 3 7 10
main.go