首页 > 试题广场 >

将单向链表按某值划分为左边小,中间相等,右边大的形式

[编程题]将单向链表按某值划分为左边小,中间相等,右边大的形式
  • 热度指数:4663 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个链表,再给定一个整数 pivot,请将链表调整为左部分都是值小于 pivot 的节点,中间部分都是值等于 pivot 的节点, 右边部分都是大于 pivot 的节点。
除此之外,对调整后的节点顺序没有更多要求。

输入描述:
第一行两个整数 n 和 pivot,n 表示链表的长度。

第二行 n 个整数 ai 表示链表的节点。


输出描述:
请在给定的函数内返回链表的头指针。
示例1

输入

5 3
9 0 4 5 1

输出

1 0 4 5 9

备注:

这道题你会答吗?花几分钟告诉大家答案吧!