mirror of
				https://gitee.com/coder-xiaomo/leetcode-problemset
				synced 2025-11-04 03:33:12 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<p>给你一个以二进制形式表示的数字 <code>s</code> 。请你返回按下述规则将其减少到 1 所需要的步骤数:</p>
 | 
						||
 | 
						||
<ul>
 | 
						||
	<li>
 | 
						||
	<p>如果当前数字为偶数,则将其除以 2 。</p>
 | 
						||
	</li>
 | 
						||
	<li>
 | 
						||
	<p>如果当前数字为奇数,则将其加上 1 。</p>
 | 
						||
	</li>
 | 
						||
</ul>
 | 
						||
 | 
						||
<p>题目保证你总是可以按上述规则将测试用例变为 1 。</p>
 | 
						||
 | 
						||
<p> </p>
 | 
						||
 | 
						||
<p><strong>示例 1:</strong></p>
 | 
						||
 | 
						||
<pre><strong>输入:</strong>s = "1101"
 | 
						||
<strong>输出:</strong>6
 | 
						||
<strong>解释:</strong>"1101" 表示十进制数 13 。
 | 
						||
Step 1) 13 是奇数,加 1 得到 14 
 | 
						||
Step 2) 14 是偶数,除 2 得到 7
 | 
						||
Step 3) 7  是奇数,加 1 得到 8
 | 
						||
Step 4) 8  是偶数,除 2 得到 4  
 | 
						||
Step 5) 4  是偶数,除 2 得到 2 
 | 
						||
Step 6) 2  是偶数,除 2 得到 1  
 | 
						||
</pre>
 | 
						||
 | 
						||
<p><strong>示例 2:</strong></p>
 | 
						||
 | 
						||
<pre><strong>输入:</strong>s = "10"
 | 
						||
<strong>输出:</strong>1
 | 
						||
<strong>解释:</strong>"10" 表示十进制数 2 。
 | 
						||
Step 1) 2 是偶数,除 2 得到 1 
 | 
						||
</pre>
 | 
						||
 | 
						||
<p><strong>示例 3:</strong></p>
 | 
						||
 | 
						||
<pre><strong>输入:</strong>s = "1"
 | 
						||
<strong>输出:</strong>0
 | 
						||
</pre>
 | 
						||
 | 
						||
<p> </p>
 | 
						||
 | 
						||
<p><strong>提示:</strong></p>
 | 
						||
 | 
						||
<ul>
 | 
						||
	<li><code>1 <= s.length <= 500</code></li>
 | 
						||
	<li><code>s</code> 由字符 <code>'0'</code> 或 <code>'1'</code> 组成。</li>
 | 
						||
	<li><code>s[0] == '1'</code></li>
 | 
						||
</ul>
 |