题目
给定一个正整数 N
,找到并返回 N
的二进制表示中两个连续的 1 之间的最长距离。
如果没有两个连续的 1,返回 0
。
示例1:
1 | 输入:22 |
示例2:
1 | 输入:5 |
示例3:
1 | 输入:6 |
示例4:
1 | 输入:8 |
提示:
- 0 <= N < 10^9
解法
解法一:
直接算
java
1 | public int binaryGap(int N) { |
解法二:
记录二进制中的1的索引,获取索引数组,计算长度即可
Java
1 | public int binaryGap(int N) { |