括号匹配
2016-04-30 18:09:04 3 举报
括号匹配是一种常见的编程和数学问题,它要求在一组括号中找出正确的配对。例如,对于字符串“(1+2)*(3/4)-5”,正确的括号匹配是“()”、“()”和“()”。这个问题可以通过使用栈来解决,遍历字符串并检查每个字符是否为左括号或右括号。如果是左括号,则将其压入栈中;如果是右括号,则从栈中弹出一个左括号并将其与当前的右括号匹配。如果栈为空,则说明当前的右括号没有匹配的左括号,因此不是正确的匹配。最后,如果栈中仍然有左括号,则说明它们没有匹配的右括号,因此也不是正确的匹配。
作者其他创作
大纲/内容
向右寻找变量c中的'('或者')'
'('='$'
Y
判断变量 s中'('和')'的位置
输入 字符串s[101]
如果出现')'
匹配结束,这两个位置转为' '
结束
如果出现'('
开始
输出两行一行变量s一行变量c
'('='?'
变量 c 中对应的位置保持不变,其余位置改为' '
N
从左至右遍历变量c
c[101]=s[101]
向左寻找变量c中的'('
舍弃先前的'(',重新记录'('
如果存在'('
再次遍历变量c中的字符
0 条评论
下一页