笔试题检验括弧的匹配是否正确 (){}【】《》
2015-09-19 16:49
309 查看
import java.util.Stack; public class A { public boolean isMatch(String s) { Stack<Character> sc = new Stack<Character>(); char[] c = s.toCharArray(); for (int i = 0; i < c.length; i++) { if (c[i] == '(' || c[i] == '[' || c[i] == '{' || c[i] == '<') { sc.push(c[i]); } else if (c[i] == ')') { if (sc.isEmpty()) { return false; } else { if (sc.peek() == '(') { sc.pop(); } } } else if (c[i] == ']') { if (sc.isEmpty()) { return false; } else { if (sc.peek() == '[') { sc.pop(); } } } else if (c[i] == '}') { if (sc.isEmpty()) { return false; } else { if (sc.peek() == '{') { sc.pop(); } } } else if (c[i] == '>') { if (sc.isEmpty()) { return false; } else { if (sc.peek() == '<') { sc.pop(); } } } } if (sc.empty()) { return true; } else { return false; } } public static void main(String args[]) { A a = new A(); String str = "(((520+480)*38/10)/2*((520+480)*38/10)/2){}<[]>"; boolean bool = a.isMatch(str); System.out.println(bool); } }
返回true 。。。。
相关文章推荐
- 某大型网络公司应聘时的笔试题目附答案
- javascript笔试题目附答案@20081025_jb51.net
- asp.net 面试+笔试题目第1/2页
- asp.net 面试 笔试题目[附答案]第1/3页
- 给有n个数的数组a,其中超过一半的数为一个定值,在不排序,不开额外数组情况下,以最高效的方法找出这个数。
- 给出101个整数数,这101个数是1~100中的数,其中只有一个是出现两次的数,要求找出这个数。
- 在C++笔试中常见的题目解析
- 笔试题目收集(3)
- (1)今天你求职了吗?
- 阿里笔试题(1) 取石子游戏
- IBM实习生笔试题目(1)
- IBM实习生笔试题目(2)
- IBM实习生笔试题目(5)
- IBM实习生笔试题目(6)
- 大众点评笔试题
- 金山软件笔试题
- 数组反序对的个数
- 牛客网笔试题目练习------分苹果
- 快手2017校园招聘_笔试_面试
- 小米2016/9/23部分笔试题目