Python字符串处理程序:查找有效字符串
假设我们有一个包含大小写英文字母的字符串s。我们将一个字符串视为有效字符串,如果它没有任何两个相邻字符s[i]和s[i + 1]满足以下条件:
0 <= i <= 字符串s的长度 - 2
s[i]是小写字母,而s[i + 1]是相同的字母但大写,反之亦然。
为了将字符串转换为有效字符串,我们可以选择两个相邻的字符(它们使字符串无效)并将其删除。我们将继续此过程,直到字符串变为有效字符串(空字符串也可以是有效字符串)。我们必须找到使字符串变为有效字符串后的结果。
因此,如果输入类似于s = "popPpulaBbr",则输出将为"popular",因为首先删除"pP"或"Pp",然后删除"Bb"。
为了解决这个问题,我们将遵循以下步骤:
res := 一个新的列表
对于s中的每个字符ch,执行以下操作:
如果res不为空,并且res的最后一个元素与ch的大小写相同,则
从res中删除最后一个元素
否则,
将ch插入到res的末尾
连接res中存在的每个元素并返回它
示例 (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
广告