在Python中删除连续的重复字符后查找字符串的程序
假设我们有一个字符串s,我们重复删除第一个连续的重复字符。我们必须找到最终的字符串。
因此,如果输入类似于s =“ xyyyxxz”,则输出将为“ z”,因为“ yyy”是将被删除的第一个连续重复字符。所以我们有“ xxxz”。然后,“ xxx”将被删除,以“ z”结尾。
为了解决这个问题,我们将遵循以下步骤-
堆栈:=一个新的堆栈
i:= 0
当我<s的大小时
将s [i]推入堆栈
x:=从堆栈中删除最后一个元素
当i <s的大小且x与s [i]相同时,
我:=我-1
我:=我+ 1
如果堆栈不为空并且堆栈顶部与s [i]相同,则
除此以外,
我:=我+ 1
加入堆栈元素后返回
让我们看下面的实现以更好地理解-
示例
class Solution:def solve(self, s):
stack = []
i = 0
while i < len(s):
if len(stack) and stack[-1] == s[i]:
x = stack.pop()
while i < len(s) and x == s[i]:
i += 1
i -= 1
else:
stack.append(s[i])
i += 1
return "".join(stack)
ob = Solution()
s = "xyyyxxz"
print(ob.solve(s))
输入值
"xyyyxxz"
输出结果
z
以上是 在Python中删除连续的重复字符后查找字符串的程序 的全部内容, 来源链接: utcz.com/z/335320.html