网易2016年Java工程师实习编程题目之括号匹配的验证
2016-03-25 09:42
543 查看
题目描述:一个字符串中包含圆括号()、中括号[ ]、大括号{ },其嵌套的顺序随意。即()(){({})([])}是有效的,([)(]){]}是无效的。验证括号是否匹配的方法就是用“期待的急迫程度”这个概念来解决。关于“期待的急迫程度”概览大家自己晚上查阅了解。
package neteaseprograme; import java.util.Stack; public class CheckBracketAvailability { public static void main(String[] args){ String str = "()(){({})([])}"; char[] bracketChar = str.toCharArray(); Stack<Character> stack = new Stack<Character>(); stack.push(bracketChar[0]); for (int i = 1; i < bracketChar.length; i++) { char temp = bracketChar[i]; if(stack.isEmpty()){ stack.push(temp); }else{ if(stack.peek() == temp-1 || stack.peek() == temp-2){ stack.pop(); }else{ stack.push(temp); } } } if(stack.isEmpty()){ System.out.println("有效字符串"); }else{ System.out.println("无效字符串"); } } }
相关文章推荐
- 细读 Thinking in Java (一)一切都是对象
- 深入理解Java内存模型(一)——基础
- 关于使用NetBeans无法使用编码utf-8(NetBeans默认编码格式)安全地打开文件的问题
- java list 转 XML
- Java——下拉列表框:JComboBox
- Java-实现服务器
- Gradle 1.12用户指南翻译——第46章. Java 库发布插件
- Gradle 1.12用户指南翻译——第46章. Java 库发布插件
- Gradle 1.12用户指南翻译——第46章. Java 库发布插件
- JAVA线程
- java拦截器模型
- 报错java.lang.IllegalMonitorStateException报错
- Eclipse Git下载问题:Internal error; consult Eclipse error log.
- Android studio和Eclipse分别生成jar包并混淆jar包
- spring IoC和AOP的原理
- (java)多线程之CountdownLatch的简单示例
- Java 实例
- [Spring] SpringMVC学习
- eclipse开发安卓时logcat的绿色加号不见了
- eclipse开发安卓时logcat的绿色加号不见了