题解 | 括号配对问题

括号配对问题

https://www.nowcoder.com/practice/57260c08eaa44feababd05b328b897d7

class Stack:
    def __init__(self) -> None:
        self.items = []
    def push(self,x):
        self.items.append(x)
    def pop(self):
        if self.items:
            return self.items.pop()
        return None
    def is_empty(self):
        return len(self.items) == 0

def is_match(s):
    stack = Stack()
    for char in s:
        if char in "([":
            stack.push(char)
        elif char in ")]":
            if not stack:
                return False
            top = stack.pop()
            if (char == ")" and top != "(") or (char == ']' and top != "["):
                return False
    return stack.is_empty()

s = input().strip()
print(str(is_match(s)).lower())


全部评论

相关推荐

快点约我面试吧
投递百度等公司10个岗位
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务