给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
注意空字符串可被认为是有效字符串。
示例 1:
输入: “()”
输出: true
示例 2:
输入: “()[]{}”
输出: true
示例 3:
输入: “(]”
输出: false
示例 4:
输入: “([)]”
输出: false
示例 5:
输入: “{[]}”
输出: true
思路:受队列思想的启发,从左到右每次提取两个元素,若为一对括号,则一同出队。
代码:
class Solution:
def __init__(self,s):
self.s=s
self.result=self.isValid(self.s)
def isValid(self,s):
if not len(s)%2==0:
return False
while(True):
if not (s[0:2]=='()'or s[0:2]=='[]'or s[0:2]=='{}'):
return False
if len(s)==2:
return True
s=s[2:]
if __name__=='__main__':
s=input("只包含括号的有效字符串:")
solution=Solution(s)
result=solution.result
print(result)
结果:
只包含括号的有效字符串:{}
True
只包含括号的有效字符串:(][)
False
原文链接:https://www.qiquanji.com/post/8912.html
本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。
微信扫码关注
更新实时通知