Number of Steps to Reduce a Number in Binary Representation to One LeetCode solution in JavaScript

1
var numSteps = function (s) {
2
let res = 0;
3
s = s.split("");
4
while (s.length > 1) {
5
if (s[s.length - 1] === "0") s.pop();
6
else plusone(s);
7
res++;
8
}
9
return res;
10
};
11
var plusone = function (p) {
12
p.unshift("0");
13
let i = p.length - 1;
14
p[i] = 1 + +p[i];
15
while (p[i] === 2) {
16
p[i - 1] = 1 + +p[i - 1];
17
i--;
18
p[i + 1] = "0";
19
}
20
if (p[0] === "0") p.shift();
21
return p;
22
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0