#include <iostream>
#include <cstdio>
using namespace std;
struct node{
char data;
int next;
bool flag;
}Node[100005];
int first1,first2,N;
int main() {
for(int i =0;i<100005;i++){
Node[i].flag= false;
}
cin>>first1>>first2>>N;
int address;
for(int i=0;i<N;i++){
cin>>address;
cin>>Node[address].data>>Node[address].next;
}
int p =first1;
for(p=first1;p!=-1;p=Node[p].next){
Node[p].flag=true;
}
int q = first2;
for(q=first2;q!=-1;q=Node[q].next){
if(Node[q].flag) {
printf("%05d",q);
return 0;
}
}
cout<<"-1";
return 0;
}
浙江大学PAT甲级A1032题解(C++)
最新推荐文章于 2022-11-04 18:20:14 发布
本文介绍了一种基于链表的交集查找算法,通过遍历两个链表并标记节点来确定它们是否有交集。首先初始化所有节点的标记为false,然后分别遍历两个链表,如果在遍历第二个链表时发现节点已被标记,则表示找到了交集。
993

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



