在 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