有效的括号
思路
因为字符串只包含括号,且需要顺序正确,那么就可知正确的字符串前后相邻的两个括号一定相对应
。那么只需判断右括号情况下是否与相邻的左括号相对应即可。可以利用栈先进后出的性质,遇左括号进,遇右括号出。
总结
括号对应的情况可以使用map。
代码
class Solution {
public static boolean isValid(String s) {
Stack<Character> str=new Stack<>();
for (int i=0;i<s.length();i++){
char temp=s.charAt(i);
if (temp=='(' || temp=='{' ||temp=='['){
str.add(temp);
}else {
if (str.isEmpty()) return false;
char p=str.pop();
if ((p=='{' && temp=='}') || (p=='(' && temp==')') || (p=='[' && temp==']')) {
}
else return false;
}
}
return str.isEmpty();
}
}