其他分享
首页 > 其他分享> > PAT A1077 Kuchiguse (20 分) 字符串

PAT A1077 Kuchiguse (20 分) 字符串

作者:互联网

    题目大意:找出N个字符串的最长公共后缀。

    输入第2 ~ N个字符串时,每次将输入的字符串与上一次得到的公共后缀比较即可,这里先将字符串反转处理起来比较方便。比较之后得到新的公共后缀。

AC代码:

#include <iostream>
#include <algorithm>
#include <cstdio>

using namespace std;

int main()
{
    int N;
    scanf("%d\n", &N);
    string lastKuchiguse, kuchiguse;
    for (int i = 0; i < N; ++i)
    {
        string str;
        getline(cin, str);
        reverse(str.begin(), str.end());
        if(i == 0) lastKuchiguse = str;
        else
        {
            kuchiguse.clear();
            for (int j = 0; j < str.size() && j < lastKuchiguse.size(); ++j)
            {
                if(str[j] == lastKuchiguse[j]) kuchiguse += str[j];
                else break;
            }
            lastKuchiguse = kuchiguse;
        }
    }
    reverse(kuchiguse.begin(), kuchiguse.end());
    if(kuchiguse.size() > 0) cout << kuchiguse;
    else cout << "nai";
    return 0;
}


 

标签:size,kuchiguse,PAT,int,str,字符串,20,Kuchiguse,lastKuchiguse
来源: https://blog.csdn.net/chch1996/article/details/100180093