括号配对检测 A
用户输入一行字符串,其中可能包括小括号 (),请检查小括号是否配对正确,配对成功与否分别输出:
配对成功,配对不成功
其中,小括号配对要考虑配对顺序,即()表示配对,)(不是配对,只考虑小括号配对。
注意,这是一个OJ题目,获得输入使用input("")。
算法:
通过标志位来判断左右括号是否准确配对
初始标志位left=0,遇见左括号加1,遇见右括号减1。
当left>0,左括号数目大于右括号
当left=0,左右括号数目正好配对
当left<0,出现先右括号的情况,此时一定配对失败
代码:
st=input()#获得输入字符串
left=0#标志左括号个数,先左后右,遇左加1,遇右减1;
for x in st:#遍历st中的字符
if x=="(":
left+=1
if x==")":
left-=1
if left<0:
#left<0此时表示存在括号先右边后左,即直接判定匹配不成功
print("配对不成功")
break
else:
if left == 0:#最终结果进行判断
print("配对成功")
else:
print("配对不成功")