stackApp符号匹配

【stackApp符号匹配】古人学问无遗力,少壮工夫老始成。这篇文章主要讲述stackApp符号匹配相关的知识,希望能为你提供帮助。

public class SymbolMatch {
public static boolean isMatch(String s){
//[{()}]
ArrayStack< Character> arrayStack = new ArrayStack< Character> ();
for(int i=0; i< s.length(); i++){
char c = s.charAt(i);
if(c==‘[‘ || c==‘{‘ || c==‘(‘){
arrayStack.push(c); //放入栈中[{(
}else{
if(arrayStack.isEmpty()){
return false;
}
Character pop = arrayStack.pop(); //获取栈顶元素
if(c==‘]‘ & & pop!=‘[‘) {//如果当前字符和栈顶的字符匹配,
return false;
}
if(c==‘}‘ & & pop!=‘{‘) {
return false;
}
if(c==‘)‘ & & pop!=‘(‘){
return false;
}
}
}
return arrayStack.isEmpty();
}

public static void main(String[] args) {
boolean match = isMatch("{(])}");
System.out.println(match);
}

}


































    推荐阅读