我有一个保存文件名的QStringList。找到其共同根,即其共同左部分的正确方法是什么?

我正在用C ++编写并使用Qt。

最佳答案

遍历QStringList,比较root和每个字符串:

QString root(QString &a, QString &b)
{
    QString str;

    for(int i = 0; i < a.length() && i < b.length(); ++i) {
        if(a.at(i) == b.at(i))str.push_back(a.at(i));
        else break;
    }
    return str;
}

QString dosth(QStringList &list)
{
    QString str;
    if(list.isEmpty()) return str;
    for(int i = 0; i < list.length(); ++i) {
        str = root(str, list.at(i));
    }
    return str;
}

关于c++ - 如何在字符串列表的所有项目中找到共同的部分?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17616704/

10-11 22:54