一.题目
二.解题思路
每次遇到右括号时,先要查看之前最后一次的左括号是否符合要求,这就与查看栈顶的操作相同,
因此:遍历输入字符串,每一次遇到左括号,就将其入栈,每次遇到右括号,通过peek查看栈顶的操作查看最后一次入栈的左括号是否符合要求,不符合就直接返回False,符合就pop出栈然后继续遍历,知道遍历结束,查看是否有没有找到与之匹配右括号的左括号,有的话返回False,没有返回True
三.解题代码
class Solution:
def isValid(self, s: str) -> bool:
stack_s = Stack(None)
for c in s:
if c == '(' or c == '[' or c == '{':
stack_s.push(c)
if c == ')' :
if stack_s.peek() == '(':