使用 Python 检查二进制字符串是否最多只有一段的程序

假设我们有一个二进制字符串 s(没有前导零),我们必须检查 s 是否最多包含一个连续的 1 段。

因此,如果输入类似于 s = "11100",那么输出将为 True,因为有一段“111”。

为了解决这个问题,我们将按照以下步骤操作 -

  • 计数:= -1

  • 如果 s 的大小等于 1,则

    • 返回真

  • 对于 s 中的每个 i,执行

    • 计数 := 计数 + 1

    • 返回错误

    • 如果 i 与“1”相同且计数 > -1,则

    • 否则当 i 与“0”相同时,则

    • 返回真

    让我们看看以下实现以获得更好的理解 -

    示例

    def solve(s):
       count = -1
       if len(s)==1:
          return True
       for i in s:
             if i=="1" and count>-1:
                return False
             elif i=="0":
                count+=1
       return True
    s = "11100"
    print(solve(s))

    输入

    11100
    输出结果
    True