使用棧進行簡單的括號匹配
阿新 • • 發佈:2018-11-09
import java.util.*; public class Kuohaopipei { public static void main(String args[]){ Scanner in=new Scanner(System.in); while(in.hasNext()) { String str = in.nextLine(); System.out.println(f(str)); } } //利用棧判斷 public static boolean f(String str){ char ch[]=str.toCharArray(); Stack<Character> stack=new Stack<Character>(); for(int i=0;i<ch.length;i++){ if(ch[i]=='[' || ch[i]=='(' || ch[i]=='{'){ stack.push(ch[i]); }else{ if(stack.size()==0) return false; char temp1=stack.pop(); if(ch[i]=='}' && temp1!='{') return false; if(ch[i]==')' && temp1!='(') return false; if(ch[i]==']' && temp1!='[') return false; } } //注意最後棧中如果還有元素則為false if(stack.size()>0) return false; return true; } }