最长公共前缀

196 阅读1分钟

leetcode-cn.com/problems/lo…

题意:给出一个vector,vector里存的是string,求最长公共前缀,以string的形式输出。
思想:首先把这个vector想象成一个二维字符矩阵,然后while套for去遍历,while用来循环j,for用来循环i,未来在看这个的我,你应该可以看懂吧

class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
    string resultStr = "";
    if (strs.empty()) return resultStr;
    int j=0;
    bool flag=true;
    while(true) {
        for (int i=0;i<strs.size();i++) {
            if (j>=strs[i].size() || strs[i][j] != strs[0][j]) {
                flag = false;
                break;
            }
        }
        if (flag) {
            resultStr +=strs[0][j];
            ++j;
        } else {
            break;
        }
   }
   return resultStr;
   }
};