检查 Python 中某个字符的所有出现是否相邻


假设我们有一个字符串 s 和另一个字符 c,我们需要检查 c 的所有出现是否在 s 中相邻。如果字符 c 不存在于 s 中,则也返回 True。

因此,如果输入类似于 s = "bbbbaaaaaaaccddd",c = 'a',则输出为 True。

为了解决这个问题,我们将遵循以下步骤:

  • flag := False
  • index := 0
  • n := 字符串长度
  • 当 index < n 时,执行:
    • 如果字符串[index] 等于 c,则:
      • 如果 flag 为 True,则:
        • 返回 False
      • 当 index < n 且字符串[index] 等于 c 时,执行:
        • index := index + 1
      • flag := True
    • 否则:
      • index := index + 1
  • 返回 True

让我们看看下面的实现来更好地理解:

示例

 在线演示

def solve(string, c) :
   flag = False
   index = 0
   n = len(string)
   while index < n:
      if string[index] == c:
         if (flag == True) :
            return False
         while index < n and string[index] == c:
            index += 1
         flag = True
      else :
         index += 1
   return True
s = "bbbbaaaaaaaccddd"
c = 'a'
print(solve(s, c))

输入

"bbbbaaaaaaaccddd", "a"

输出

True

更新于:2020-12-29

277 次查看

开启你的职业生涯

完成课程获得认证

开始学习
广告