首页 > 移动平台 > 详细

stackApp符号匹配

时间:2019-01-05 20:25:56      阅读:124      评论:0      收藏:0      [点我收藏+]
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符号匹配

原文:https://www.cnblogs.com/huiandong/p/10225946.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!