Java Stack实现括号匹配
| public static boolean doesMatch() { |
| Stack<String> a = new Stack<>(); |
| Scanner s = new Scanner(System.in); |
| while(s.hasNext()) { |
| String str = s.next(); |
| if(str.equals("(") || str.equals("[") || str.equals("{")) { |
| a.push(str); |
| }else if(str.equals(")")) { |
| if(a.isEmpty()) return false; |
| else if(!a.pop().equals("(")) return false; |
| }else if(str.equals("]")) { |
| if(a.isEmpty()) return false; |
| else if(!a.pop().equals("[")) return false; |
| }else if(str.equals("}")) { |
| if(a.isEmpty()) return false; |
| else if(!a.pop().equals("{")) return false; |
| } |
| } |
| if(!a.isEmpty()) return false; |
| return true; |
| } |