编写一个函数来查找字符串数组中的最长公共前缀,保证存在。c➕➕
时间: 2023-09-13 08:07:57 浏览: 92
```c++
#include <iostream>
#include <vector>
#include <string>
using namespace std;
string longestCommonPrefix(vector<string>& strs) {
if (strs.empty()) return ""; // 如果字符串数组为空,则返回空字符串
string res = ""; // 初始化结果字符串
for (int i = 0; i < strs[0].length(); i++) { // 遍历第一个字符串的每一个字符
char c = strs[0][i]; // 取出第一个字符串的当前字符
for (int j = 1; j < strs.size(); j++) { // 遍历剩余的字符串
if (i >= strs[j].length() || strs[j][i] != c) { // 如果当前字符串已经遍历到结尾或者当前字符不相等
return res; // 直接返回当前已经匹配的最长公共前缀
}
}
res += c; // 如果所有字符串的当前字符都相等,则将其加入最长公共前缀中
}
return res; // 如果第一个字符串的所有字符都匹配,则返回最长公共前缀
}
int main() {
vector<string> strs = {"flower", "flow", "flight"}; // 测试用例
string res = longestCommonPrefix(strs); // 调用函数
cout << res << endl; // 输出结果
return 0;
}
```
阅读全文