判断一个括号字符串是否匹配正确,如果括号有多种,怎么做?如(([]))正确,[[(()错误。

创新互联从2013年成立,先为四川等服务建站,四川等地企业,进行企业商务咨询服务。为四川企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
解题思路:可使用栈来保存符号,凡是左括号就压栈,凡是右括号就出栈,最后如果栈为空就匹配正确
boolean isMatch(String s) {
Stack sk = new Stack();
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == '(') {
sk.push('(');
}
if (s.charAt(i) == ')') {
if (!sk.isEmpty() && sk.pop() == '(')
continue;
else
return false;
}
if (s.charAt(i) == '[') {
sk.push('[');
}
if (s.charAt(i) == ']') {
if (!sk.isEmpty() && sk.pop() == '[')
continue;
else
return false;
}
}
if (sk.isEmpty())
return true;
else
return false;
} 注:栈可用于解决类似符号匹配问题