问题简述
给出两个单词,找到他们的共同后缀的起始位置
大概需要的元素
静态链表
代码
#include<stdio.h>
#include<string.h>
const int maxn = 10010;
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;
scanf("%d%d%d", &s1, &s2, &n);
int adr, next;
char data;
for(int i = 0; i < n; i++)
{
scanf("%d %c %d", &adr, &next, &data);
node[adr].data = data;
node[adr].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("%5d\n", node[p].data);
}
else
{
printf("-1\n");
}
}