判断一个括号字符串是否匹配正确,如果括号有多种,怎么做?如(([]))正确,[[(()错误。
判断一个括号字符串是否匹配正确,如果括号有多种,怎么做?如(([]))正确,[[(()错误。
解题思路:可使用栈来保存符号,凡是左括号就压栈,凡是右括号就出栈,最后如果栈为空就匹配正确
booleanisMatch(Strings){Stack<Character>sk=newStack<Character>();for(inti=0;i<s.length();i++){if(s.charAt(i)=='('){sk.push('(');}if(s.charAt(i)==')'){if(!sk.isEmpty()&&sk.pop()=='(')continue;elsereturnfalse;}if(s.charAt(i)=='['){sk.push('[');}if(s.charAt(i)==']'){if(!sk.isEmpty()&&sk.pop()=='[')continue;elsereturnfalse;}}if(sk.isEmpty())returntrue;elsereturnfalse;}
注:栈可用于解决类似符号匹配问题
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。