反转链表 た 入场券 2022-07-28 01:12 218阅读 0赞 ### 题目 ### 给定一个常数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个元素不反转。 输入格式: 每个输入包含1个测试用例。每个测试用例第1行给出第1个结点的地址、结点总个数正整数N(<= 105)、以及正整数K(<=N),即要求反转的子链结点的个数。结点的地址是5位非负整数,NULL地址用-1表示。 接下来有N行,每行格式为: Address Data Next 其中Address是结点地址,Data是该结点保存的整数数据,Next是下一结点的地址。 输出格式: 对每个测试用例,顺序输出反转后的链表,其上每个结点占一行,格式与输入相同。 输入样例: 00100 6 4 00000 4 99999 00100 1 12309 68237 6 -1 33218 3 00000 99999 5 68237 12309 2 33218 输出样例: 00000 4 33218 33218 3 12309 12309 2 00100 00100 1 99999 99999 5 68237 68237 6 -1 ### 实现 ### #include <iostream> using namespace std; int main() { int first, k, n; cin >>first>>n>> k; int temp; int *data=new int[100005]; int *next=new int[100005]; for (int i = 0; i < n; i++) { cin >> temp; cin >> data[temp]; cin >> next[temp]; } int *list=new int[100005]; int sum = 0; while (first != -1) { list[sum++] = first; first = next[first]; } int *result=new int[100005]; for (int i = 0; i < sum; i++) { result[i] = list[i]; } for (int i = 0; i < (sum - sum % k); i++) { result[i] = list[i / k * k + k - 1 - i % k]; } for (int i = 0; i < sum - 1; i++) printf("%05d %d %05d\n", result[i], data[result[i]], result[i + 1]); printf("%05d %d -1", result[sum - 1], data[result[sum - 1]]); system("pause"); free(data); free(next); free(list); free(result); return 0; } ### 运行结果 ### ![结果][20160328085104830] [20160328085104830]: /images/20220727/97e121ffa6d14484ab509d4673ede252.png
相关 反转链表 > [剑指Offer 24 反转链表 \[easy\] ][Offer 24 _ _easy_] > ![在这里插入图片描述][watermark_type_ZmFuZ3p 曾经终败给现在/ 2022年12月27日 01:21/ 0 赞/ 200 阅读
相关 反转链表 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ub 「爱情、让人受尽委屈。」/ 2022年11月29日 12:40/ 0 赞/ 172 阅读
相关 反转链表 / 反转链表 给一条单链表,请反转整个链表,并返回反转后的链表 / public class Test5 { / 这个递归函数的定 àì夳堔傛蜴生んèń/ 2022年10月29日 01:50/ 0 赞/ 213 阅读
相关 反转链表 代码: // by nby \include<iostream> using namespace std; struct node \{ int 以你之姓@/ 2022年08月07日 07:37/ 0 赞/ 218 阅读
相关 反转链表 题目 给定一个常数K以及一个单链表L,请编写程序将L中每K个结点反转。例如:给定L为1→2→3→4→5→6,K为3,则输出应该为3→2→1→6→5→4;如果K为4,则输出 た 入场券/ 2022年07月28日 01:12/ 0 赞/ 218 阅读
相关 链表反转 public class LinkedListReverse { public static void main(String[] args) { £神魔★判官ぃ/ 2022年05月24日 08:05/ 0 赞/ 267 阅读
相关 反转链表 题目描述 输入一个链表,反转链表后,输出新链表的表头。 链表的数据结构如下: public class ListNode { int val; 浅浅的花香味﹌/ 2022年05月13日 22:45/ 0 赞/ 276 阅读
相关 反转链表 [反转链表][Link 1] 题目描述 输入一个链表,反转链表后,输出新链表的表头。 1 public class Solution { 心已赠人/ 2022年03月25日 15:26/ 0 赞/ 245 阅读
相关 反转链表 时间限制:1秒 空间限制:32768K 热度指数:408664 本题知识点: 链表 算法知识视频讲解 题目描述 输入一个链表,反转链表后,输出新链表的表头。 妖狐艹你老母/ 2022年03月10日 01:30/ 0 赞/ 258 阅读
相关 链表反转 include "stdafx.h" include<iostream> include<cmath> using namespace 不念不忘少年蓝@/ 2021年09月12日 02:40/ 0 赞/ 411 阅读
还没有评论,来说两句吧...