解决的问题是字符串最小的公共部分。
- class Solution {
-
- public:
-
- string longestCommonPrefix(vector
& 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;
-
-
-
- }
-
- };