在Python中查找给定字符串中的好字符串程序

在Python中查找给定字符串中的好字符串程序

假设我们有一个包含大小写英文字母的字符串s。我们将认为一个字符串是好字符串,如果它不具有s [i]和s [i + 1]相邻字符的任何两个地方,其中 –

  • 0 <= i <= s的大小 – 2

  • s [i]是小写字母,s [i + 1]是相同字母的大写形式,或者反过来。

要将字符串转换为好字符串,我们可以选择两个相邻的字符,使该字符串变坏并将它们删除。我们将继续进行此过程,直到字符串变为好的(空字符串可以是好的字符串)。我们必须找到使其成为好的之后的字符串。

因此,如果输入是s =”popPpulaBbr”,则输出将是“ popular”,因为首先删除“ p P ”或“ P p ”,然后删除“ Bb”。

要解决这个问题,我们将按照以下步骤进行 –

  • res:=新列表

  • 对于s中的每个字符ch,执行以下操作

    • 如果res不为空,并且最后一个元素在res中与任何一个字母的情况相同,不区分大小写,则
      • 从res中剪切最后一个元素
    • 否则
      • 在res结尾插入ch
  • 将存在于res中的每个元素连接起来并将其返回

更多Python相关文章,请阅读:Python 教程

示例(Python)

让我们看一下以下实现,以便更好地理解

def solve(s):
   res = []
   for ch in s:
      if res and res[-1] != ch and res[-1].lower() == ch.lower():
         res.pop()
      else:
         res.append(ch)
   return ''.join(res)

s = "popPpulaBbr"
print(solve(s))

输入

"popPpulaBbr"

输出

popular

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程