#include stdioh#include stdlibhtypedef int ElemType;typedef struct ListNode ElemType data; struct ListNode next; ListNode LinkList;LinkList createList LinkList head = LinkList mallocsizeofL
题目描述
给定一个单链表 $L$ 和一个值 $x$,将 $L$ 分成两个单链表 $L_1$ 和 $L_2$,使得 $L_1$ 中的所有结点的值小于等于 $x$,而 $L_2$ 中的所有结点的值大于 $x$。
输入格式
第一行包含原始链表中结点的个数 $n$。
第二行包含 $n$ 个整数,表示链表中的各结点的值。
第三行包含一个整数 $x$。
输出格式
输出两个链表 $L_1$ 和 $L_2$。对于每个链表,首先输出链表的长度,然后输出链表中的所有整数,每个整数占一行。
数据范围
$1 \le n \le 100000$,$-10^9 \le L_i \le 10^9$,$-10^9 \le x \le 10^9$
输入样例:
10 9 8 7 6 5 4 3 2 1 0 3
输出样例:
4 2 1 0 6 5 4 3 9 8 7
算法1
(暴力枚举) $O(n)$
C++ 代码
算法2
(暴力枚举) $O(n)$
blablabla
时间复杂度
参考文献
python3 代码
C++ 代码
java 代码
算法3
(暴力枚举) $O(n)$
blablabla
时间复杂度
参考文献
C++ 代码
原文地址: https://www.cveoy.top/t/topic/bkhj 著作权归作者所有。请勿转载和采集!