C++输入任意两个字符串S1,S2,输出两个字符串的最长公共前缀,如果没有输出空字符串
时间: 2024-04-09 16:32:47 浏览: 159
C语言求两个字符串的最长公共子串
5星 · 资源好评率100%
好的,以下是用 C++ 编写的代码来实现你的需求:
```cpp
#include <iostream>
#include <string>
using namespace std;
string longestCommonPrefix(string s1, string s2) {
string result = "";
int i = 0;
while (i < s1.length() && i < s2.length() && s1[i] == s2[i]) {
result += s1[i];
i++;
}
return result;
}
int main() {
string s1, s2;
cout << "请输入字符串S1: ";
cin >> s1;
cout << "请输入字符串S2: ";
cin >> s2;
string commonPrefix = longestCommonPrefix(s1, s2);
if (commonPrefix.empty()) {
cout << "两个字符串没有最长公共前缀。" << endl;
} else {
cout << "最长公共前缀为: " << commonPrefix << endl;
}
return 0;
}
```
你可以将以上代码保存为 `.cpp` 文件,然后使用 C++ 编译器进行编译运行。
请注意,我只提供了一个简单的实现,可能并不是最优的解决方案。在实际应用中,你可能需要考虑更多的边界情况和优化。
阅读全文