可以使用栈来解决这个问题。

遍历字符串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))
给定一个只包括 的字符串 s 判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。

原文地址: http://www.cveoy.top/t/topic/i1En 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录