1
0
Fork 0
mirror of https://gitlab.com/mfocko/LeetCode.git synced 2024-09-19 17:56:55 +02:00
LeetCode/go/number-of-steps-to-reduce-a-number-in-binary-representation-to-one.go
2024-05-29 23:41:59 +02:00

18 lines
295 B
Go

package number_of_steps_to_reduce_a_number_in_binary_representation_to_one
func numSteps(s string) int {
steps := 0
carry := 0
for i := len(s) - 1; i > 0; i-- {
bit := int(s[i]) + carry
if bit%2 == 1 {
steps += 2
carry = 1
} else {
steps += 1
}
}
return steps + carry
}