stackApp符号匹配

Posted uuhh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);
}

}
































以上是关于stackApp符号匹配的主要内容,如果未能解决你的问题,请参考以下文章

正则匹配的中文包括中文标点符号吗?

C4018:类内有符号、无符号不匹配

无法加载符号文件和 UDID 不匹配 - 如何修复?

PHP:如何匹配一系列 unicode 配对代理表情符号/表情符号?

gcc 等效于 VC++ 警告 C4018: 有符号/无符号不匹配

正则 grep 管道符号 “|” 特殊符号“||”“&&” wc 命令 分隔符号cut 排序sort 去重复uniq 符号 ` `的使用