给定一个只包括 的字符串 s 判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。
可以使用栈来解决这个问题。
遍历字符串s的每一个字符,如果遇到左括号就将其压入栈中,如果遇到右括号就判断栈顶元素是否与其匹配,如果匹配则弹出栈顶元素,否则返回False。
最后,如果栈为空,则说明字符串有效,返回True;否则返回False。
以下是Python的实现:
def isValid(s):
stack = []
mapping = {")": "(", "}": "{", "]": "["}
for char in s:
if char in mapping:
if not stack or stack[-1] != mapping[char]:
return False
stack.pop()
else:
stack.append(char)
return not stack
s = input()
print(isValid(s))
原文地址: http://www.cveoy.top/t/topic/i1En 著作权归作者所有。请勿转载和采集!