Easy

Binary GapC++

Full explanation · Time O(1) · Space O(1)

// Time:  O(logn) = O(1) due to n is a 32-bit number
// Space: O(1)

class Solution {
public:
    int binaryGap(int N) {
        int result = 0;
        int last = -1;
        for (int i = 0; i < 32; ++i) {
            if ((N >> i) & 1) {
                if (last != -1) {
                    result = max(result, i - last);
                }
                last = i;
            }
        }
        return result;
    }
};