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