判斷一個字符串中的"( )"是否配對

import java.util.*;

import java.util.Stack;

public class Main18 {

/**

*

*/

public static void main(String[] args) {

        System.out.println(isStack("{}{}{{{}sss}}"));

      System.out.println(isStack("{"));

      System.out.println(isStack(""));

       System.out.println(isStack("`fdsfs`{}"));

        System.out.println(isStack("{}}{"));  

       }


private static boolean isStack(String string) {

//使用棧的先進後出和機構特徵來判斷是否匹配

       Stack<Character> stack=new Stack<Character>();

for(int i=0;i<string.length();i++){

if(string.charAt(i)=='{'){

stack.push(string.charAt(i));//將‘{’插入棧頂

}else if(string.charAt(i)=='}'){

if(stack.isEmpty()){

return false;

}else{

stack.pop();//將‘{’移除

}


}

}

if(stack.isEmpty()){

return true;


}else{

return false;

}



       }

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章