题解 | #查找两个字符串a,b中的最长公共子串#
查找两个字符串a,b中的最长公共子串
http://www.nowcoder.com/practice/181a1a71c7574266ad07f9739f791506
笨办法,就是将两个字符串进行遍历,然后截取比对,如果截取的字符串都包含的话就取最大的那个,然后输出就可以了
let line
let arr = [];
while(line = readline()){
arr.push(line);
if(arr.length == 2){
let arr1 = arr[0].split('');
let arr2 = arr[1].split('');
let shortArr = arr1.length > arr2.length ? arr2 : arr1
let longArr = arr1.length > arr2.length ? arr1 : arr2
let maxStr;
for(let i = 0;i<longArr.length;i++){
for(let j = shortArr.length - i;j > 0;j--){
let tempStr = shortArr.join('').substr(i,j);
if(shortArr.join('').includes(tempStr) && longArr.join('').includes(tempStr)){
if(!maxStr || shortArr.join('').substr(i,j).length > maxStr.length){
maxStr = shortArr.join('').substr(i,j);
}
}
}
}
console.log(maxStr)
arr = []
}
}