希望早日回复

假设表达式中允许包含两种括号:圆括号和方括号,其嵌套的顺序随意,如([ ]())或[([ ][ ])]等为正确的匹配,[( ])或([ ]( )或 ( ( ) ) )均为错误的匹配。 现在的问题是,要求检验一个给定表达式中的括弧是否正确匹配? 输入一个只包含圆括号和方括号的字符串,判断字符串中的括号是否匹配,匹配就输出 “OK” ,不匹配就输出“Wrong”。输入一个字符串:[([][])],输出:OK。
这题的for循环要如何写

5 个赞

栈 O(n^2)


这道题要求的是括号能不能匹配。我的方法是用栈来做,那我们可以用这种方案来求出括号能不能匹配:

先把这个字符串读入
遍历一遍字符串

如果是左括号((、[)

把这个左括号push到栈里

如果是右括号()、])

判断是否合法
合法的话,把栈顶弹出
不合法的话,输出Wrong然后结束程序

最后判断栈是否为空

为空输出OK
不为空输出Wrong

5 个赞

我这个用你的样例还是不对,只是分享一个思路而已

4 个赞

回复了哦

4 个赞

kk我也回复了

5 个赞

我怀疑你们在交易而且我有证据 :face_with_raised_eyebrow:

7 个赞

我加他洛谷好友问他洛谷题目

5 个赞

不要直接贴ac代码哦,已删

7 个赞

好的嗯okwobutie

5 个赞

我只是给他一个样本,此代码并没有AC

4 个赞