# 有效的括号
给定一个只包括 '('
,')'
,'{'
,'}'
,'['
,']'
的字符串 s
,判断字符串是否有效。
有效字符串需满足:
- 左括号必须用相同类型的右括号闭合。
- 左括号必须以正确的顺序闭合。
示例 1:
输入:s = "()"
输出:true
示例 2:
输入:s = "()[]{}"
输出:true
示例 3:
输入:s = "(]"
输出:false
示例 4:
输入:s = "([)]"
输出:false
示例 5:
输入:s = "{[]}"
输出:true
提示:
1 <= s.length <= 104
s
仅由括号 '()[]{}'
组成
## template
```python
class Solution:
def isValid(self, s: str) -> bool:
parentheses = [
'(', '[', '{',
')', ']', '}'
]
i = 0
sum = [0, 0, 0]
top = []
while i < len(s):
c = s[i]
j = 0
while j <= 2:
if c == parentheses[j]:
top.append(j)
sum[j] += 1
elif c == parentheses[j+3]:
if len(top) == 0 or top[len(top)-1] != j:
return False
top.pop()
sum[j] -= 1
j += 1
i += 1
if sum[0] != 0 or sum[1] != 0 or sum[2] != 0:
return False
else:
return True
# %%
s = Solution()
print(s.isValid(s = "()[]{}"))
```
## 答案
```python
```
## 选项
### A
```python
```
### B
```python
```
### C
```python
```