- 编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例 1:
输入:strs = [“flower”,“flow”,“flight”]
输出:“fl”
示例 2:
输入:strs = [“dog”,“racecar”,“car”]
输出:“”
解释:输入不存在公共前缀。
class Solution
{
public:string longestCommonPrefix(vector<string> &strs){// 特殊情况if (strs.size() == 0){string k;return k;}if (strs.size() == 1){return strs[0];}// 思路:先计算得到最短的单词数量,然后按照最短的单词个数逐个进行比较int min_dist = INT_MAX;for (int i = 0; i < strs.size(); ++i){if (strs[i].size() < min_dist){min_dist = strs[i].size();}}string max_f;for (int i = 0; i < min_dist; ++i){char k = strs[0][i];bool success = true;for (int j = 1; j < strs.size(); ++j){if (strs[j][i] == k){continue;}else{success = false;break;}}if (success){max_f.push_back(k);}else{break;}}return max_f;}
};