1404. Number of Steps to Reduce a Number in Binary Representation to One
1 | class Solution { |
首先记录当前是否有carry. 然后我们从后往前遍历. 先把carry补到当前的位置上. 然后看更新后的位置的数字是什么. 是0就只向右移动一位即可, 否则就是 + 1然后移动一位. + 1的话需要更新carry.
时间复杂度: O(n)
空间复杂度: O(1)
Insist on doing small things, then witness the magic
1 | class Solution { |
首先记录当前是否有carry. 然后我们从后往前遍历. 先把carry补到当前的位置上. 然后看更新后的位置的数字是什么. 是0就只向右移动一位即可, 否则就是 + 1然后移动一位. + 1的话需要更新carry.
时间复杂度: O(n)
空间复杂度: O(1)