Skip to content
LC-0696 Easy LeetCode

696. Count Binary Substrings

Read the full problem statement on LeetCode.
Difficulty: easy Acceptance: 66% Topics: Two Pointers, String
View full problem on LeetCode
Reference solution (spoiler · python)
# Time:  O(n)
# Space: O(1)

class Solution(object):
    def countBinarySubstrings(self, s):
        """
        :type s: str
        :rtype: int
        """
        result, prev, curr = 0, 0, 1
        for i in xrange(1, len(s)):
            if s[i-1] != s[i]:
                result += min(prev, curr)
                prev, curr = curr, 1
            else:
                curr += 1
        result += min(prev, curr)
        return result

Solution from kamyu104/LeetCode-Solutions · MIT