1. 程式人生 > >用javascript求兩個字串最大的相同的子串

用javascript求兩個字串最大的相同的子串

思路:
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>