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;
    }
}