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

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务