kalok87
2020-06-24 09:19:31 +08:00
committed by labuladong
parent 5e4a7dd2c8
commit 268ce748d1

View File

@ -97,11 +97,29 @@ private char leftOf(char c) {
}
```
[李四](any_link_you_want) 提供 Python3 代码:
[kalok87](https://github.com/kalok87) 提供 Python3 代码:
```python
def isValid(str):
# ...
def isValid(self, s: str):
left = [] # 定义一个左栈,记录所有的左括号
match = {'}':'{', ']':'[', ')':'('} # 定义一个字典检查当前str是否是右括号
right = {'}', ']', ')'} # 定义一个右括号集合,方便快速检查
# 进行循环如果当前str是左括号则入栈如果是右括号则检查左栈的最后一个元素是不是
# 与其对应。
for x in s:
if x in right:
if len(left) == 0 or match[x] != left[-1]:
return(False) # 如果对应的左栈元素不符括号种类不同或左栈为空返回False
else:
left.pop() # 移除左栈最顶端的元素
else:
left.append(x) # 当前str是左括号入左栈
if len(left) == 0:
return(True) # 如果左栈为空左右括号数相等返回True
else:
return(False)
```