用c++编写最长公共前缀
时间: 2024-02-18 17:35:55 浏览: 77
以下是使用 C++ 编写的最长公共前缀的代码:
```c++
#include <iostream>
#include <vector>
#include <string>
using namespace std;
string longestCommonPrefix(vector<string>& strs) {
if (strs.empty()) {
return "";
}
string prefix = strs[0];
for (int i = 1; i < strs.size(); i++) {
while (strs[i].find(prefix) != 0) {
prefix = prefix.substr(0, prefix.length() - 1);
if (prefix.empty()) {
return "";
}
}
}
return prefix;
}
int main() {
vector<string> strs = {"flower", "flow", "flight"};
cout << longestCommonPrefix(strs) << endl; // Output: "fl"
return 0;
}
```
该函数的输入是一个字符串向量,输出为这些字符串的最长公共前缀。在这个函数中,我们首先将第一个字符串作为前缀,并逐一比较所有字符串,如果某个字符串不包含前缀,则将前缀缩短一个字符,直到它是所有字符串的前缀为止。如果最终前缀为空,则返回一个空字符串。
阅读全文