题解 | #查找两个字符串a,b中的最长公共子串#

查找两个字符串a,b中的最长公共子串

https://www.nowcoder.com/practice/181a1a71c7574266ad07f9739f791506

#include <iostream>
#include <string>
#include <vector>
using namespace std;

int main() {
    string str1,str2;
    getline(cin,str1);
    getline(cin,str2);
    string temp;
    bool flag = false;
    string smallStr = str1.size()>str2.size()?str2:str1;
    string biggerStr = str1.size()>str2.size()?str1:str2;
    for(int i = smallStr.size();i!=0;--i)
    {
        for(int j = 0;j+i!=smallStr.size()+1;++j)
        {
            string sstr = smallStr.substr(j,i);
            if(biggerStr.find(sstr)!=string::npos)
            {
                temp = sstr;
                flag = true;
                break;
            }

        }
        if(flag)
            break;
    }
    cout<<temp;
}
// 64 位输出请用 printf("%lld")

getline读取以后会舍弃'\n'这样的换行符号,不需要再cin.ignore(),cin.ignore()是忽略cin的下一个字符

全部评论

相关推荐

04-25 18:13
五邑大学 Java
后来123321:大二两段实习太厉害了,我现在大二连面试都没有
点赞 评论 收藏
分享
04-29 18:07
常州大学 Java
寂静羽翼:兄弟我已经亲身经历了,双非没实习很多大厂还是会给笔试的,可是有的公司笔试做的好也不给面一直卡着,ssob基本看我没实习都拒绝我了,但是每天投满偶尔也能有一两场初创公司的面试,但是薪资基本在五六千
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务