题目1524:复杂链表的复制

来源:互联网 发布:微信数据存储在sd卡 编辑:程序博客网 时间:2024/06/03 17:22

模拟这个链表就行了

#include<cstdio>#include<cstring>#include<cstdlib>typedef struct node{int val;struct node *next;struct node *other;void setVal(int v){this->val = v;next = other = NULL;}}List;void createList(int n,List list[]){int val;for(int i = 0;i<n;++i){scanf("%d",&val);list[i].setVal(val);if(i != n-1)list[i].next = &list[i+1];}for(int i=0;i<n;++i){scanf("%d",&val);if(val != 0)list[i].other = &list[val-1];}}void printList(List *list){while(list != NULL){printf("%d",list->val);if(list->other != NULL)printf(" %d\n",list->other->val);elseprintf(" 0\n");list = list->next;}}int main(){int n;while(scanf("%d",&n) != EOF){List list[1009];createList(n,list);printList(list);}return 0;}


0 0
原创粉丝点击