时间限制: C/C++ 1秒,其他语言2秒
空间限制: C/C++ 32768K,其他语言 65536K
题目描述:
将一个链表通过交换节点位置的操作使链表中的 value 为 k 的节点都聚集到一起,给出最少需要的交换次数
输入描述:
输入第一行为链表的长度,取值范围1~1000
输入第二行为链表的节点,如1 23代表链表1->2->3,每个节点value为整数,取值范围0~10000
输入第三行为k
输出描述:
输出需要的最少交换次数
示例
输入:
5
1 2 1 2 1
2
输出:
1
说明:
1->2->1->2->1 只需要交换1次即可变成 2->2->1->1->1或1->2->2->1->1或1->1->2->2->1或1->1->1->2->2