题解 | #查找两个字符串a,b中的最长公共子串#
查找两个字符串a,b中的最长公共子串
https://www.nowcoder.com/practice/181a1a71c7574266ad07f9739f791506
#include <iostream>
#include <string>
using namespace std;
void solve(string a,string b,string sub_str){
for(int i=0;i<a.size();i++){
for(int j=i;j<a.size();j++){
string temp=a.substr(i,j-i+1);
if(b.find(temp) != string::npos){
if(temp.size()>sub_str.size()){
sub_str=temp;
}
}
}
}
cout<<sub_str<<endl;
}
int main() {
string a;
string b;
string sub_str="";
while(cin>>a>>b){
if(a.size()>b.size()){
a.swap(b);
}
solve(a,b,sub_str);
}
return 0;
}
// 64 位输出请用 printf("%lld")
联想公司福利 1481人发布