括号匹配算法的java实现

来源:互联网 发布:mac照片导出硬盘 编辑:程序博客网 时间:2024/05/21 14:04
public static void main(String[] args) {String str = "([])";String st3 = "([)]";String str2 = "(([]){})";String st = "()[]{}";String sttt ="]";String sssss = "){";System.out.println(isValid(sssss));} public static boolean isValid(String s) {if(s.length()%2!=0){return false;}Stack<Character> stack = new Stack<Character>();char[] charArray = s.toCharArray();for(int i=0;i<charArray.length;i++){if(charArray[i]=='{'||charArray[i]=='['||charArray[i]=='('){stack.push(charArray[i]);}else{if(!stack.isEmpty()){Character peek = stack.peek();if(charArray[i]=='}'&&peek=='{'||charArray[i]==']'&&peek=='['||charArray[i]==')'&&peek=='('){stack.pop();}}}}if(stack.isEmpty()){return true;}return false; }