题解 | #查找两个字符串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")