5/24 String 杂题
public class Solution {
public boolean isValid(String s) {
if(s.length() == 0) return true;
Stack<Character> stack = new Stack<Character>();
for(int i = 0; i < s.length(); i++){
char chr = s.charAt(i);
if(stack.isEmpty()){
stack.push(chr);
} else {
if(chr=='(' || chr=='[' || chr == '{'){
stack.push(chr);
} else {
if(getPair(chr) == stack.peek()){
stack.pop();
} else {
return false;
}
}
}
}
return stack.isEmpty();
}
private char getPair(char chr){
switch(chr){
case ')':
return '(';
case ']':
return '[';
case '}':
return '{';
default:
return '.';
}
}
}Last updated