1、题目描述:
2、题解:
思路:
思路:
设置一个字典(或者叫哈希映射),保存相应的括号对
设置一个栈stack,并初始化
遍历字符串:
如果字符在字典中,就入栈
否则,出栈,看出栈的元素在字典中的值是否等于该字符,如果不等,就返回False
最后判断stack
Python代码如下:
class Solution:
def isValid(self, s: str) -> bool:
#栈
dic = {'{':'}','[':']','(':')','?':'?'}
stack = ['?']
for c in s:
if c in dic:
stack.append(c)
elif dic[stack.pop()] != c:
return False
return len(stack) == 1
3、复杂度分析:
时间复杂度:O(N)
空间复杂度:O(N)