Advertisement

PAT(Python)-1025: 反转链表(25)

阅读量:

针对一个给定的常数K与单链表L,需要编写程序实现将L中每隔K个节点进行反转的操作。例如,当L为1→2→3→4→5→6,且K为3时,输出应为3→2→1→6→5→4;若K为4,则输出应为4→3→2→1→5→6,即最后不足K个节点的部分保持原样不进行反转。

输入格式:

每个测试用例包含一组输入数据。测试用例的第一行给出第一个节点的地址、链表中节点总数N(N为正整数且不超过105),以及正整数K(K不大于N),表示需要反转的子链表节点数量。每个节点的地址由五位非负整数组成,空指针地址以-1表示。

接下来共有N行数据,每行格式如下:

Address Data Next

其中 Address 表示该节点的地址,Data 代表该节点存储的整数值,Next 表示下一个节点的地址。

输出格式:

对于每一个测试用例,按照反转后的链表顺序依次输出每个节点的信息。每个节点单独占一行,并遵循与输入相同的格式。

**在实际提交代码过程中发现测试点5始终无法通过,尝试了一整天仍未找到问题所在,不清楚是否还有其他未考虑到的因素存在,是否有其他人能够给予提示或指出潜在错误?

复制代码
 # -*- coding: utf-8 -*-

    
 # 思路:从给定的链首到链末共有数据个数n加1项,id为前n项,next为后n项
    
 def link(addre

全部评论 (0)

还没有任何评论哟~