DEV Community

Abhishek Chaudhary
Abhishek Chaudhary

Posted on

Check if Binary String Has at Most One Segment of Ones

Given a binary string s ​​​​​without leading zeros, return true​​​ if s contains at most one contiguous segment of ones. Otherwise, return false.

Example 1:

Input: s = "1001"
Output: false
Explanation: The ones do not form a contiguous segment.

Example 2:

Input: s = "110"
Output: true

Constraints:

  • 1 <= s.length <= 100
  • s[i]​​​​ is either '0' or '1'.
  • s[0] is '1'.

SOLUTION:

class Solution:
    def checkOnesSegment(self, s: str) -> bool:
        s += "0"
        segments = []
        chunk = ""
        for c in s:
            if c == '0' and len(chunk) > 0:
                segments.append(chunk)
                chunk = ""
            elif c == '1':
                chunk += '1'
        return len(segments) <= 1
Enter fullscreen mode Exit fullscreen mode

Top comments (0)