C++ leetcode14 最長公共前綴 編寫一個函數來查找字符串數組中的最長公共前綴。 如果不存在公共前綴,返回空字符串 ""

1.C++

    bool static cmp(const string &a, const string &b) {
        return a.length() < b.length();
    }

    string longestCommonPrefix(vector<string>& strs) {
        sort(strs.begin(), strs.end(), cmp);
        if(strs.size()==0)
           return "";
        string strRes = strs[0];
        for (int i = 1; i < strs.size(); i++)
        {
            int index = -1;
            for (int j = 0; j < strRes.size(); j++) {
                if (strRes[j] != strs[i][j]) {
                    index = j;
                    break;
                }
            }
            if (index != -1)
                strRes = strRes.substr(0, index);
            if (i == 1 && index == 0)
                return "";
        }
        return strRes;
    }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章