原题链接:PTA | 程序设计类实验辅助教学平台
参考资料:
1025 反转链表 (25 分) PAT乙级 C++/Python版_1025 反转链表 分数 25 作者 chen, yue 单位 浙江大学 给定一个常数 k 以及一个-CSDN博客
【Python数据结构】反转链表的方法_反转链表 python-CSDN博客
Python基础算法——反转链表_反转链表 python-CSDN博客
Tips:以下Python代码仅个人理解,非最优算法,仅供参考!多看他人的AC代码学习!
import sys
link=[None]*100000 #add最大99999
head,N,K=map(int, sys.stdin.readline().split())
for i in range(N):
add,data,next=map(int, sys.stdin.readline().split())
link[add]=[data,next]
T,p=[],head
while -1!=p:
if None==link[p]:break
T.append(["%05d"%(p) ,link[p][0]])
p=link[p][1]
for j in range(K-1,len(T),K):
i=j-K+1
while i<j: #头尾调换
T[i],T[j]=T[j],T[i]
i+=1
j-=1
T.append(['-1'])
for i in range(len(T)-1): #T最后一个-1地址不用循环输出,T[i+1][0]取出
sys.stdout.write("%s %d %s\n"%(T[i][0],T[i][1],T[i+1][0]))
标签:1025,Python,反转,链表,CSDN,link
From: https://blog.csdn.net/m0_56677113/article/details/142308422