题目
解题思路
由于输入是杂乱无章的,因此根据起始结点的资料,不断循环遍历形成初始链表。得到初始链表后再执行反转操作。
反转操作:
对于第一组满足K个结点元素的反转,先输出第K个结点的地址和数据,再输出第K-1个结点的地址和换行,然后再输出第K-1个结点的地址和数据,以此类推,直至输出第第1个结点的地址和换行,然后输出第1个结点的地址和数据。
再顺序输出其他组满足K个结点元素的反转,例如输出第2K个结点的地址和换行,然后再输出第2K个结点的地址和数据,以此类推,直至输出第K+1个结点的地址和换行,然后输出第K+1个结点的地址和数据。
对于剩余不足K个结点元素的组,例如第三组不满足K个结点元素,则输出第2K+1个结点的地址和换行,然后再输出第2K个结点的地址和数据,以此类推,直至输出最后一个结点的地址和换行,然后输出最后一个结点的地址和数据。最后输出一个-1和换行即可。
特殊情况:对于没有一组满足K个结点元素的情况,先输出第1个结点的地址和数据,再输出第2个结点的地址和换行,然后再输出第2个结点的地址和数据,以此类推,直至输出最后一个结点的地址和换行,然后输出最后一个结点的地址和数据。最后输出一个-1和换行即可。