1784. 检查二进制字符串字段
给你一个二进制字符串 s ,该字符串 不含前导零 。
如果 s 包含 零个或一个由连续的 '1' 组成的字段 ,返回 true 。否则,返回 false 。
如果 s 中 由连续若干个 '1' 组成的字段 数量不超过 1,返回 true 。否则,返回 false 。
示例 1:
输入:s = "1001"
输出:false
解释:由连续若干个 '1' 组成的字段数量为 2,返回 false示例 2:
输入:s = "110"
输出:true
思路:逆向思维
逆向思考,只要判断s中是否包含01就可以了。是的话返回false。
// 没优化前
func checkOnesSegment(s string) bool {
if strings.Contains(s, "01") {
return false
}
return true
}
// 优化后
func checkOnesSegment(s string) bool {
return !strings.Contains(s, "01")
}