题目内容
给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。
有效字符串需满足:
①左括号必须用相同类型的右括号闭合。
②左括号必须以正确的顺序闭合。
求解代码
Newest_Left=["empty"]
Little_Unmatched=0
Middle_Unmatched=0
Big_Unmatched=0
s=input()
isValid=True
for i in s:
if i=="(":
Little_Unmatched+=1
Newest_Left.append("little")
elif i=="[":
Middle_Unmatched+=1
Newest_Left.append("middle")
elif i=="{":
Big_Unmatched+=1
Newest_Left.append("big")
elif i==")" and Newest_Left[len(Newest_Left)-1]=="little":
Little_Unmatched-=1
Newest_Left.pop()
elif i=="]" and Newest_Left[len(Newest_Left)-1]=="middle":
Middle_Unmatched-=1
Newest_Left.pop()
elif i=="}" and Newest_Left[len(Newest_Left)-1]=="big":
Big_Unmatched-=1
Newest_Left.pop()
else:
isValid=False
break
if Little_Unmatched!=0 or Middle_Unmatched!=0 or Big_Unmatched!=0:
isValid=False
print(isValid)