14. 最长公共前缀 - 力扣(LeetCode)

力扣经常出现输入为空的监测点,所以需要特判,为空直接返回。

直接两重循环,一层枚举字符串,一层枚举字符串内字符

普通的枚举,两重循环;重要的是判断条件的考虑周全

class Solution {
public:
    string longestCommonPrefix(vector<string>& strs) {
        string res;
        if(strs.empty()) return res;//防止输入为空

        for(int i = 0;; i++){
            if(i >= strs[0].size())//目前长度大于等于第一个字符串的长度
                return res;//就直接返回res
            char c = strs[0][i];//取出第一个字符串的第i个字母
            for(auto& str:strs)//依次判断所有字符串的第i个字母是否与之相同
                if(str.size()<=i || str[i]!=c)//长度也得考虑
                    return res;
            res += c;//否则就把这个字符加上
        }
    }
};