comments | difficulty | edit_url | rating | source | tags | |
---|---|---|---|---|---|---|
true |
Easy |
1206 |
Weekly Contest 231 Q1 |
|
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'
.
Notice that the string
If the string false
.
If the string true
.
Therefore, we only need to judge whether the string
The time complexity is
class Solution:
def checkOnesSegment(self, s: str) -> bool:
return '01' not in s
class Solution {
public boolean checkOnesSegment(String s) {
return !s.contains("01");
}
}
class Solution {
public:
bool checkOnesSegment(string s) {
return s.find("01") == -1;
}
};
func checkOnesSegment(s string) bool {
return !strings.Contains(s, "01")
}
function checkOnesSegment(s: string): boolean {
let pre = s[0];
for (const c of s) {
if (pre !== c && c === '1') {
return false;
}
pre = c;
}
return true;
}
impl Solution {
pub fn check_ones_segment(s: String) -> bool {
!s.contains("01")
}
}
function checkOnesSegment(s: string): boolean {
return !s.includes('01');
}