判断一个括号字符串是否匹配正确,如果括号有多种,怎么做?如(([]))正确,[[(()错误。
判断一个括号字符串是否匹配正确,如果括号有多种,怎么做?如(([]))正确,[[(()错误。
创新互联从2013年成立,先为四川等服务建站,四川等地企业,进行企业商务咨询服务。为四川企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
解题思路:可使用栈来保存符号,凡是左括号就压栈,凡是右括号就出栈,最后如果栈为空就匹配正确
boolean isMatch(String s) { Stacksk = 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; }
注:栈可用于解决类似符号匹配问题
当前题目:判断一个括号字符串是否匹配正确,如果括号有多种,怎么做?如(([]))正确,[[(()错误。
文章转载:http://scyanting.com/article/iieeei.html