判断括号是否符合成对出现的规则
给你一个只包含括号('('、 ')'、 '{'、 '}'、 '[' 和 ']')的字符串seq,
请你判断该序列是否是合法的括号序列。合法请输出Yes,否则输出No。
例如:
seq="()", 输出Yes
seq="()[]{}", 输出Yes
seq="(]", 输出No
seq="([)]", 输出No
该题目最主要是考察对序列的索引取值和list的pop方法,代码如下:
1 lt = list(seq[0]) 2 for i in seq[1:]: 3 try: 4 if (i == '}' and lt[-1] == '{') or (i == ']' and lt[-1] == '[') or (i == ')' and lt[-1] == '('): 5 lt.pop() 6 else: 7 lt.append(i) 8 except IndexError: 9 lt.append('_') 10 11 if len(lt) == 0: 12 print('Yes') 13 else: 14 print('No')
浙公网安备 33010602011771号