首先读入所有的字符串,并记录长度。每输入一个数据就遍历所有的字符串,从中找出长度相同或者相差1的字符串。并判断是否相差1个字符。
- 长度相同 从下标0到len如果全部匹配则输出is correct 如果相差为1个字符则输出该字符串,如果相差大于1个字符就continue
- 长度相差1 使用短的字符串去匹配长的字符串,并使用标记变量flag。如果出现不同字符则长串下标++,flag++。 如果flag>1则不匹配。 如果flag=0并且短串遍历完,则说明长串最后一个字符为不同字符,这两个字符串匹配。如果flag=1,并且长串遍历完,则说明这两个字符串匹配。
-
#include <algorithm> #include <iostream> #include <cstring> #include <cstdio> #include <cmath> using namespace std; struct node { char ch[100]; int len; } CH[11000]; int P(char ch1[], char ch2[]) { int