#include<stdio.h>
#define MAX_N 1000100
struct Node{
char data;
int next;
bool flag;
}node[MAX_N];
void init(){
for(int i=0;i<MAX_N;i++){
node[i].flag=false;
}
}
int main(){
init();
int n;
int l1,l2;
int address,next;
char data;
int p;
scanf("%d%d%d",&l1,&l2,&n);
for(int i=0;i<n;i++){
scanf("%d %c %d",&address,&data,&next);
node[address].data=data;
node[address].next=next;
}
for(int i=l1;i!=-1;i=node[i].next){
node[i].flag=true;
}
for(p=l2;p!=-1;p=node[p].next){
if(node[p].flag)
break;
}
if(p!=-1)
printf("%05d",p);
else
printf("-1");
}
1032. Sharing (25) PAT甲级
最新推荐文章于 2024-09-05 22:01:01 发布
本文介绍了一种基于链表的数据结构实现,并通过一个具体的示例演示了如何使用该链表来查找两个链表的交集。代码首先初始化了一个包含大量节点的链表,然后分别遍历两个链表并标记第一个链表中的所有节点,接着再次遍历第二个链表以确定是否存在已标记的交集节点。
997

被折叠的 条评论
为什么被折叠?



