Binary Gap
找一个int中两个1之间最大的距离. 先把int变成string, 然后找每个1的gap, 然后取最大.
class Solution {
public int binaryGap(int N) {
if(N < 0 || N == 0)
return 0;
String s = Integer.toBinaryString(N);
int g = 0;
int[] tmp = new int[s.length()];
int t = 0;
for(int i = 0; i < s.length(); i++) {
if(s.charAt(i) == '1'){
tmp[t++] = i;
}
}
for(int i = 1; i < s.length(); i++) {
g = Math.max(g, tmp[i] - tmp[i-1]);
}
return g;
}
}