假设表达式中允许包含两种括号:圆括号和方括号,其嵌套的顺序随意,如([ ]())或[([ ][ ])]等为正确的匹配,[( ])或([ ]( )或 ( ( ) ) )均为错误的匹配。 现在的问题是,要求检验一个给定表达式中的括弧是否正确匹配? 输入一个只包含圆括号和方括号的字符串,判断字符串中的括号是否匹配,匹配就输出 “OK” ,不匹配就输出“Wrong”。输入一个字符串:[([][])],输出:OK。
这题的for循环要如何写
5 个赞
栈 O(n^2)
这道题要求的是括号能不能匹配。我的方法是用栈来做,那我们可以用这种方案来求出括号能不能匹配:
先把这个字符串读入
遍历一遍字符串
如果是左括号((、[)
把这个左括号push到栈里
如果是右括号()、])
判断是否合法
合法的话,把栈顶弹出
不合法的话,输出Wrong然后结束程序
最后判断栈是否为空
为空输出OK
不为空输出Wrong
5 个赞
我这个用你的样例还是不对,只是分享一个思路而已
4 个赞
回复了哦
4 个赞
kk我也回复了
5 个赞
我怀疑你们在交易而且我有证据 ![]()
7 个赞
我加他洛谷好友问他洛谷题目
5 个赞
不要直接贴ac代码哦,已删
7 个赞
好的嗯okwobutie
5 个赞
我只是给他一个样本,此代码并没有AC
4 个赞