import java.util.*;
public class Solution {
/**
*
* @param s string字符串
* @return bool布尔型
*/
public boolean isValid (String s) {
// write code here
Stack<Character> left = new Stack<>();
for(char c:s.toCharArray()){
if(c=='{' || c=='(' || c=='['){
left.push(c);
}else{
//c是右括号
if(!left.isEmpty() && leftOf(c)==left.peek()){
left.pop();
}else{
//和最近的左括号不匹配
return false;
}
}
}
//是否所有的左括号都被匹配了
return left.isEmpty();
}
char leftOf(char c){
if(c=='}') return '{';
if(c==']') return '[';
return '(';
}
}

京公网安备 11010502036488号