![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/21b6c400a966a61a94c7940b485e6379.png)
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str;
while (cin >> str)
{
string ret;
for (int i = 0; i < str.size(); i++)
{
ret.insert(ret.begin(), str[i]);
}
cout << ret.c_str() << endl;
}
return 0;
}
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/de84889bf0940b89f7a1145b8f37d38a.png)
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int fun(string A, string B)
{
int maxlength = 0;
string ret;
for (size_t i = 0; i < B.size(); ++i)
{
for (size_t j = B.size() - i; j > 0; j--)
{
ret = B.substr(i,j);
if (A.find(ret) != string::npos && maxlength < ret.size())
{
maxlength = ret.size();
}
}
}
return maxlength;
}
int main()
{
string str1, str2;
while(cin >> str1 >> str2)
{
int len;
if (str1.size() < str2.size())
len = fun(str2, str1);
else
len = fun(str1,str2);
cout << len << endl;
}
return 0;
}