题目描述:
思路:首先把十进制整数转换成二进制数;
然后遍历二进制数,找到连续两个一之间的距离
代码如下:
class Solution {
public:
int binaryGap(int N) {
vector<int>bin;
int res=0;
int a=0,b=0;
while(N>0){
bin.push_back(N%2);
N/=2;
}
for(int i=0;i<bin.size();i++){
if(bin[i]==1){
a=i;
break;}
}
for(int i=0;i<bin.size();i++){
if(bin[i]==1&&i!=a){
b=i;
res=max(b-a,res);
a=b;}
}
return res;
}
};