检查二进制字符串字段

题解方法

  • 方法一:模拟
  • 方法二:字符串

模拟

  • 没有前导零,遍历到出现 0 后,检查后续是否有 1出现

字符串

  • 由于没有先导零,则 0 后必不能出现 1,直接判断是否包含子串 01 即可

核心代码

模拟

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// 遍历直到出现 0,当前连续 1 字段结束
while (idx < len) {
if (s.charAt(idx) == CHAR_0) {
break;
}
idx++;
}
// 若再出现字段 1,则不符合要求
while (idx < len) {
if (s.charAt(idx) == CHAR_1) {
return false;
}
idx++;
}
return true;

字符串

1
return !s.contains("01");

题目来源

1784. 检查二进制字符串字段 - 力扣(LeetCode)