题目:https://pintia.cn/problem-sets/994805342720868352/problems/994805460652113920
思路:思路参考了算法笔记,因为第一次写链表题,主要就是链表的初始化和遍历,结点数组开得足够大的话,初始化的时候就不需要考虑链接的问题,直接输入单个节点的数据就行
代码
#include<cstring>#include<cstdio>const int maxn = 100010;struct Node{char data;int next;bool flag;}node[maxn];int main(){for(int i = 0; i < maxn; i++){node[i].flag = false;}int s1, s2, n;int address, next;char data;scanf("%d%d%d", &s1, &s2, &n);for(int i = 0; i < n; i++){scanf("%d %c %d", &address, &data, &next);node[address].data = data;node[address].next = next;}int p;for(p = s1; p != -1; p = node[p].next){node[p].flag = true;}for(p = s2; p != -1; p = node[p].next){if(node[p].flag == true) break;}if(p != -1){printf("%05d",p);} else {printf("-1");}return 0 ;}
