处理汉明距离 - 需要添加零以使两个字符串匹配最长字符串的长度

时间:2017-01-09 07:35:47

标签: javascript while-loop hamming-distance

我试图解决这个汉明距离问题..目前我的while循环已经停留了,这并不是为了满足最长的长度(minLength)两个字符串。我希望shortestString能够产生" 001"但是现在它只是做着#34; 01" ..请帮助,提前谢谢。

var hammingDistance = function(x,y){

var yString = y.toString(2); var xString = x.toString(2);

if(xString.length > yString.length){
    var minLength = xString.length;
    var shortestString = yString;
    var longestString = xString;
}
else{
    minLength = yString.length;
    shortestString = xString;
    longestString = yString;
}

while(shortestString.length < minLength){
    newString = '0' + shortestString;
    shortestString++;
    return newString;
}
console.log(newString);

}; 汉明距离(1,4);

1 个答案:

答案 0 :(得分:0)

如果你在while循环中摆脱shortestString++;它应该有用。

该变量是一个字符串,因此增加它可以做各种各样的损坏。当你添加'0'时,你实际上是在递增它,并且你在while条件下检查它的长度。

你还需要移动return newstring以外的时间,此时你的while循环只会执行一次,因为第一次传递中的返回突然出现。