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);
}

}

相关文章:

  • 2022-12-23
  • 2021-06-13
  • 2022-12-23
  • 2022-12-23
  • 2022-03-10
  • 2022-02-11
  • 2021-11-11
  • 2021-10-05
猜你喜欢
  • 2021-12-02
  • 2022-01-17
  • 2022-02-05
  • 2021-06-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案