公共最长子序列

2016-11-22  本文已影响0人  冯瑞_FR

从末尾向前算

var naiveLCS = function(str1,str2){
    var result = "";
        //相等先退出
    if(str1.split('').length == 0 || str2.split('').length == 0){
        return false;
    }

    if(str1.substr(-1) == str2.substr(-1)){
        result = naiveLCS(str1.slice(0,-1),str2.slice(0,-1))
        if(result)
            result = result + str1.slice(-1);
        else
            result = str1.slice(-1);
        return result;
    }else{
        var tempR1 = naiveLCS(str1.slice(0,-1),str2);
        var tempR2 = naiveLCS(str1,str2.slice(0,-1));
        if(tempR1 && tempR2){
            return tempR1.split('').length > tempR2.split('').length ? tempR1 : tempR2;
        }else{
            return tempR1 ? tempR1 : tempR2;
        }
    }
}

var a = "12de111q";
var b = "w12e444vq";
console.log(naiveLCS(a,b));
上一篇 下一篇

猜你喜欢

热点阅读