在 Python 中从给定字符串中找到一个好的字符串的程序
假设我们有一个包含大小写英文字母的字符串s。我们将认为一个字符串是一个没有任何两个相邻字符s[i]和s[i+1]的好字符串,其中-
0<=i<=s的大小-2
s[i]是小写的,而s[i+1]是相同的字母,但大写,反之亦然。
要将字符串转换为好字符串,我们可以选择两个相邻的使字符串变坏的字符并将其删除。我们将继续这个过程,直到字符串变好(空字符串也可以是好的)。我们必须在做好后找到字符串。
因此,如果输入类似于s="popPpulaBbr",那么输出将是"popular",因为首先删除"pP"或"Pp"并删除"Bb"。
示例(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