首页 > 用c++很简单,但是如何使用javascript解决这道题(一直报错,通不过)?

用c++很简单,但是如何使用javascript解决这道题(一直报错,通不过)?

var hammingWeight = function(n) {
    var j = 0;
    var answer = "";
    if(n === 1) {
        return 1;
    }
    if (n !== 0)
        {
            while (n !== 0) {
                answer = Math.abs(n % 2) + answer;
                n = parseInt(n / 2);
            }
            if (answer.length === 0){
                answer = "0";
                return 0;
            }
            for (var a in answer) {
            if (a == 1) {
                j++;
            } else {
                continue;
            }
        }
        return j;
        }
        else {
            return 0;
        }

};


看不懂你的逻辑。。

我写的(手机码字):

function (n) {
  var ans = 0;
  while (n) {
    if (n & 1) ans++;
    n >>= 1;
  }
  return ans;
}

用 JavaScript 更简单啊,几句话就结了

function getOneCount(n) {
    var s = n.toString(2);
    var p = s.split(/1/);
    return p.length - 1;
}
【热门文章】
【热门文章】