一、有效的括号
这道题主要是明确以下三种情况
首先判断字符串的长度是不是偶数,如果不是偶数那么就直接返回false,因为再怎么说也是成双成对的括号,
之后就是正常进入循环,如果匹配到有左括号的,直接把右括号压入栈
但是遇到不匹配的或者说要匹配栈中为空了,那这不行,要返回false
遇到相等的就直接压出栈
最后都匹配完事儿,再判断一下栈中是否为空,如果不为空还是返回的false
代码如下:
class Solution {
public boolean isValid(String s) {
Stack<Character> sta = new Stack<>();
if(s.length() % 2 != 0)
return false;
for(int i = 0;i<s.length();i++)
{
if(s.charAt(i) == '('){
sta.push(')');
}else if(s.charAt(i) &