class Solution {
public:
int binaryGap(int N) {
int pre=0;
for (int i = 0; N>=(1<<i) ; ++i) {//主要是二进制,for就是一位位比较过去(1<<i)
//N比较出来有多少位的二进制
if(N&(1<<i)){//这里的二进制功能建议自行百度:二进制用法 位运算 acm,自己学习容易进步
//能把某一位是否为1判断出来
pre=i;
break;
}
}
// printf("%d pre\n", pre);
int _max=0;
for (int i = pre; N>=(1<<i); ++i) {
if(N&(1<<i)){
_max = max(_max, i - pre);
pre=i;
}
}
return _max;
}
};