网工没有过
2009-07-09 16:43
92 查看
/* *下面的代码用于判断一个串中的括号是否匹配 所谓匹配是指不同类型的括号必须左右呼应,可以相互包含,但不能交叉 例如: ..(..[..]..).. 是允许的 ..(...[...)....].... 是禁止的 对于 main 方法中的测试用例,应该输出: false true false false * */ import java.util.*; public class test20 { public static boolean isGoodBracket(String s) { Stack<Character> a = new Stack<Character>(); for(int i=0; i<s.length(); i++) { char c = s.charAt(i); if(c=='(') a.push(')'); if(c=='[') a.push(']'); if(c=='{') a.push('}'); if(c==')' || c==']' || c=='}') { //如果栈a为空,则可以直接返回false if(a.empty()) return false; // 填空 if(a.pop() != c) return false; } } //循环结束,如栈a还有元素,则返回false if(!a.empty()) return false; // 填空 return true; } public static void main(String[] args) { System.out.println( isGoodBracket("...(..[.)..].{.(..).}...")); System.out.println( isGoodBracket("...(..[...].(.).){.(..).}...")); System.out.println( isGoodBracket(".....[...].(.).){.(..).}...")); System.out.println( isGoodBracket("...(..[...].(.).){.(..)....")); } }
相关文章推荐
- 又好多天没有学习网工了!感觉自己很可悲!
- No Silver Bullet - 没有银弹
- vc windows 服务问题:服务没有及时响应启动或控制请求
- 在没有谷歌的时候怎样获取Android源码
- 解决ubuntu14.04系统没有声音的问题
- 指甲之指甲长期没有甲半月弧(一)
- 三星设计师:最好的用户界面是没有用户界面的!
- BUG系列:转让startActivityForResult()&onActivityResult()没有反应
- Android隐藏输入法键盘(hideSoftInputFromInputMethod没有效果)
- 学生想学习,但是无法入门,结果还是没有学?
- 人们没有理由不对 Lumia 928 抱有期待
- 装Oracle12C时遇到没有权限访问临时位置的解决方法
- 如何使用JSmooth软件将java文件打包发布成exe文件,在没有jre环境的机子上运行(亲测有用)
- Java面试题:1-100之间的数,被放在数组a[99]中,有一个数没有包含在其中,用java代码找出这个数
- 由于没有远程桌面授权服务器可以提供许可证,.....错误的解决(Server2008R2)
- VVDocumenter不能注释(没有反应)
- 服务是正常的,有个service有的时候能依赖,有的时候没有找到依赖(no named bean 'XXXXservice' defined)
- Visual Studio .NET 无法创建应用程序 。问题很可能是因为本地 Web 服务器上没有安装所需的组件 ----转载
- mysql模拟生成id,弥补没有oracle中rownum的遗憾
- sevlet 使用url请求没有反应