LeetCode 1784. 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'.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/**
 * @param {string} s
 * @return {boolean}
 */

var checkOnesSegment = function(s) {
    const len = s.length;
    if(len<2){
        return true;
    }
    let count=0;
    for(let i=0;i<len;++i){
        if(s[i] === '1'){
            count += 1;
            if(count>1){
                return false;
            }
            ++i;
            while(i<len && s[i] === '1'){
                ++i;
            }
            --i;
        }
    }
    return true;
};


Leave a Reply

Your email address will not be published. Required fields are marked *