Class Solution
java.lang.Object
g1401_1500.s1404_number_of_steps_to_reduce_a_number_in_binary_representation_to_one.Solution
1404 - Number of Steps to Reduce a Number in Binary Representation to One.<p>Medium</p>
<p>Given the binary representation of an integer as a string <code>s</code>, return <em>the number of steps to reduce it to</em> <code>1</code> <em>under the following rules</em>:</p>
<ul>
<li>
<p>If the current number is even, you have to divide it by <code>2</code>.</p>
</li>
<li>
<p>If the current number is odd, you have to add <code>1</code> to it.</p>
</li>
</ul>
<p>It is guaranteed that you can always reach one for all test cases.</p>
<p><strong>Example 1:</strong></p>
<p><strong>Input:</strong> s = “1101”</p>
<p><strong>Output:</strong> 6</p>
<p><strong>Explanation:</strong> “1101” corressponds to number 13 in their decimal representation.</p>
<p>Step 1) 13 is odd, add 1 and obtain 14.</p>
<p>Step 2) 14 is even, divide by 2 and obtain 7.</p>
<p>Step 3) 7 is odd, add 1 and obtain 8.</p>
<p>Step 4) 8 is even, divide by 2 and obtain 4.</p>
<p>Step 5) 4 is even, divide by 2 and obtain 2.</p>
<p>Step 6) 2 is even, divide by 2 and obtain 1.</p>
<p><strong>Example 2:</strong></p>
<p><strong>Input:</strong> s = “10”</p>
<p><strong>Output:</strong> 1</p>
<p><strong>Explanation:</strong> “10” corressponds to number 2 in their decimal representation.</p>
<p>Step 1) 2 is even, divide by 2 and obtain 1.</p>
<p><strong>Example 3:</strong></p>
<p><strong>Input:</strong> s = “1”</p>
<p><strong>Output:</strong> 0</p>
<p><strong>Constraints:</strong></p>
<ul>
<li><code>1 <= s.length <= 500</code></li>
<li><code>s</code> consists of characters ‘0’ or ‘1’</li>
<li><code>s[0] == '1'</code></li>
</ul>
-
Constructor Summary
Constructors -
Method Summary
-
Constructor Details
-
Solution
public Solution()
-
-
Method Details
-
numSteps
-