有效的括号&&删除字符串中的所有相邻重复项

发布时间:2024年01月25日

给定一个只包括 '(',')

','{','}','[',']'?的字符串,判断字符串是否有效。

class Solution:

? ? def isValid(self, s: str) -> bool:

? ? ? ? stack=[]


?

? ? ? ? for item in s:

? ? ? ? ? ? if item=='(':

? ? ? ? ? ? ? ? stack.append(')')

? ? ? ? ? ? elif item=='[':

? ? ? ? ? ? ? ? stack.append(']')

? ? ? ? ? ? elif item=='{':

? ? ? ? ? ? ? ? stack.append('}')

? ? ? ? ? ? elif not stack ?or stack[-1]!=item:

? ? ? ? ? ? ? ? return False

? ? ? ? ? ? else:

? ? ? ? ? ? ? ? stack.pop()

? ? ? ? return True ?if not stack else False

? ? ? ? ? ?

给出由小写字母组成的字符串?S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。

在 S 上反复执行重复项删除操作,直到无法继续删除。

在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。

?

class Solution:

? ? def removeDuplicates(self, s: str) -> str:

? ? ? ? res=list()

? ? ? ? for item ?in s:

? ? ? ? ? ? if res and res[-1]==item:

? ? ? ? ? ? ? ? res.pop()

? ? ? ? ? ? else:

? ? ? ? ? ? ? ? res.append(item)

? ? ? ? return "".join(res)

文章来源:https://blog.csdn.net/Zxy18327720221/article/details/135832161
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。