反转链表

#include<bits/stdc++.h>
using namespace std;

const int Max=1e5+10;

struct Node {
	int data;
	int next;
} node[Max];

int main() {
	int s1,n,k;
	scanf("%d %d %d",&s1,&n,&k);
	int address;
	for(int i=0; i<n; i++) {
		scanf("%d ",&address);
		scanf("%d %d",&node[address].data,&node[address].next);
	}
	int count=0;
	vector<int> address1(n+1,-1);
	address1[0]=s1;
	while(address1[count]!=-1) {
		count++;
		address1[count]=node[address1[count-1]].next;
	}
	for(int i=0; i+k<=count;i+=k) {
		reverse(address1.begin()+i,address1.begin()+i+k);
	}
	for(int i=0; i<count-1; i++) {
		printf("%05d %d %05d\n",address1[i],node[address1[i]].data,address1[i+1]);
	}
	printf("%05d %d -1\n",address1[count-1],node[address1[count-1]].data);
	return 0;
}

全部评论

相关推荐

风中翠竹:真的真的真的没有kpi。。。面试官是没有任何kpi的,捞是真的想试试看这个行不行,碰碰运气,或者是面试官比较闲现在,没事捞个人看看。kpi算HR那边,但是只有你入职了,kpi才作数,面试是没有的。
双非有机会进大厂吗
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 18:05
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务