> 技术文档 > 最长公共前缀-leetcode

最长公共前缀-leetcode

  • 编写一个函数来查找字符串数组中的最长公共前缀
    如果不存在公共前缀,返回空字符串 “”。

示例 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; }};