解决的问题是字符串最小的公共部分。
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
if (strs.empty()) {
return ""; //如果是空字符串
}
// 对字符串数组按字典序排序
std::sort(strs.begin(), strs.end());
std::string prefix = "";
int minLength = std::min(strs[0].length(), strs.back().length()); //最小的字符串长度,两端的字符串
// 比较排序后的第一个字符串和最后一个字符串
for (int i = 0; i < minLength; i++) {
if (strs[0][i] == strs.back()[i]) {
prefix += strs[0][i];
} else {
break;
}
}
return prefix;
}
};