[编程题]查找两个字符串a,b中的最长公共子串
热度指数:56317时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32M,其他语言64M
查找两个字符串a,b中的最长公共子串。若有多个,输出在较短串中最先出现的那个。
输入描述:
输入两个字符串
输出描述:
返回重复出现的字符
示例1
输入
abcdefghijklmnop
abcsafjklmnopqrstuvw
输出
jklmnop
while(s1=readline(),s2=readline()){
var s='';
if(s1.length>s2.length){
var t=s1;
s1=s2;
s2=t;
}
for(var i=0;i<s1.length;i++){
for(var j=i+1;j<s1.length;j++){
var temp=s1.substr(i,j-i+1);
if(s2.indexOf(temp)!=-1){
if(s.length<temp.length){
s=temp;
}
} else break;
}
}
print(s)
}