import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param s string字符串
* @return bool布尔型
*/
public boolean isValid (String s) {
// write code here
//右括号入栈 遇到左括号出栈
Stack<Character> stack=new Stack<>();
int n=s.length();
for(int k=0;k<n;k++){
if(stack.isEmpty()&&(s.charAt(k)==')'||s.charAt(k)=='}'||(s.charAt(k)==']'))){
return false;
}
if(s.charAt(k)=='('||s.charAt(k)=='{'||s.charAt(k)=='['){
stack.push(s.charAt(k));
continue;
}
if(!stack.empty()&&(s.charAt(k)==')'&&stack.peek()=='(')||(s.charAt(k)=='}'&&stack.peek()=='{')||(s.charAt(k)==']'&&stack.peek()=='[')){
stack.pop();
}else{
return false;
}
}
if(stack.isEmpty()){
return true;
}
return false;
}
}