Acwing779 最长公共字符串后缀

题目大意:给定n个字符串,让你找到他们的最长公共字符串后缀是什么,可能为空。

分析:题目数据范围比较小,可以O(n*n)暴力匹配,即可解决这道问题。之所以写这道题的题解还是因为写字符串的题还不够多啊,菜的一批。

代码:

#include<bits/stdc++.h>
using namespace std;
string common(string s,string t) {
    int most = 0;
    int len = min(s.length(), t.length());
    for (int i = 0; i < len; i++) {
        if (s[i] == t[i])
            most++;
        else
            break;
    }
    return s.substr(0, most);
}
int main() {
    int n;
    while (cin >> n) {
        if (!n) break;
        string s;
        cin >> s;
        reverse(s.begin(), s.end());
        n--;
        for (int i = 0; i < n; i++) {
            string t;
            cin >> t;
            reverse(t.begin(), t.end());
            s = common(s, t);
        }
        reverse(s.begin(), s.end());
        cout << s << endl;
    }
    return 0;
}

Acwing779 最长公共字符串后缀

上一篇:#tarjan,SPFA#洛谷 3627 [APIO2009] 抢掠计划


下一篇:iview的input框校验添加v-modal.number会影响校验,还是依照API使用number来转换number类型