判断一个含多种括号的字符串是否匹配正确 (如(([]))正确,[[(()错误)
来源:互联网 发布:网络语言tr是什么意思 编辑:程序博客网 时间:2024/04/28 13:19
public boolean isMatch(String str){ 2 Stack stack = new Stack(); 3 for(int i = 0; i < str.length(); ++i){ 4 char ch = str.charAt(i); 5 if(ch == '[' || ch == '{' || ch == '('){ 6 stack.push(ch); 7 } else if(ch == ']' || ch == '}' || ch == ')'){ 8 if(stack.isEmpty()){ //合法性判断:“消去”后残留的反括号或者本身就是反括号开头(例:“}...”) 9 return false;10 }11 char top = stack.peek();12 if(ch == ']' && top == '[' || ch == '}' && top == '{' || ch == ')' && top == '('){ //“消去”一对13 stack.pop();14 }15 else{16 return false;17 }18 }19 }20 return stack.isEmpty(); //最后一次“消去”(不会再执行“判断”,所以在这儿判断),是否残留反括号21 }
0 0
- 判断一个含多种括号的字符串是否匹配正确 (如(([]))正确,[[(()错误)
- 判断一个括号字符串是否匹配正确
- 判断括号匹配是否正确:
- 括号匹配算法的一种正确实现(java)
- 判断一个括号字符串是否匹配
- 判断一个字符串中括号是否匹配
- 判断一个字符串中括号是否匹配
- 如何判断一个字符串是否为正确的IP地址
- 判断字符串里的括号是否匹配
- 输入一个表达式,表达式中包括三种括号“()”、“[]”和“{}”,判断该表达式的括号是否匹配。
- 利用正则表达式,来判断年/月/日的格式是否正确,含对于(含捕捉组)正则表达式的解析
- 字符串——判断一个括号字符串是否匹配
- 括号成对出现、判断括号是否匹配(不用堆栈)
- 判断一个表达式是否正确
- 如何判断一个字符串中的括号是否匹配
- 判断字符串括号是否闭合(){}[]
- 判断一个字符串是否全是数字的多种方法及其性能比较(C#实现)
- 判断一个字符串是否全是数字的多种方法及其性能比较(C#实现)
- 格子问题
- 简单Java类实训四进阶篇(重难点)
- sdut_java_小学数学
- Redis源码解析【SDS】
- java 学习笔记6
- 判断一个含多种括号的字符串是否匹配正确 (如(([]))正确,[[(()错误)
- 剑指offer 39.二叉树的深度
- 条件循环控制语句
- Linux学习之第十二章
- Java的文件IO流操作方法
- Java多线程--生产者消费者模型(Semaphore实现)
- javaweb-http
- 对抗生成模型
- 数据结构学习笔记(一)泛型