1784. Check if Binary String Has at Most One Segment of Ones

Difficulty:
Related Topics:
Similar Questions:

Problem

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:

Solution (Java)

class Solution {
    public boolean checkOnesSegment(String s) {
        boolean metOne = false;
        int i = 0;
        while (i < s.length()) {
            if (s.charAt(i) == '1' && metOne) {
                return false;
            }
            if (s.charAt(i) == '1') {
                metOne = true;
                while (i < s.length() && s.charAt(i) == '1') {
                    i++;
                }
            }
            i++;
        }
        return true;
    }
}

Explain:

nope.

Complexity: