用javascript求兩個字串最大的相同的子串
阿新 • • 發佈:2019-02-08
思路:
1.找出兩個字串的最大和最小字串(根據長度)。
2.從最小的字串中先取該字串的長度的子串,判斷大的字串中是否包含該子串,不包含將長度減1,從小的字串中取該長度的子串再去判斷,如此反覆。
<script>
function getMaxStr(str1,str2){
var max = str1.length > str2.length ? str1 : str2;
var min = (max == str1 ? str2 : str1);
for(var i = 0; i < min.length; i++){
for (var x = 0, y = min.length - i;y != min.length + 1;x++,y++){
//y表示所取字串的長度
var newStr = min.substring(x,y);
//判斷max中是否包含newStr
if(max.indexOf(newStr) != -1){
return newStr;
}
}
}
return -1;
}
alert(getMaxStr("abc","abcd" ));//abc
</script>