Easy
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'
.public 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;
}
}