美文网首页
20. 有效的括号

20. 有效的括号

作者: bangbang2 | 来源:发表于2020-08-07 10:32 被阅读0次
image.png

1:首先利用hashmap,将三个括号对送入map中,其中左括号作为key,右括号作为value
2:遍历字符串的每一个元素
3:引入栈,如果s.charAt(i)是三个左括号的其中一个,就将s.charAt(i)对应的value值压入栈中,否则判断s.charAt(i)和stack.pop()是否相等,如果不相等,直接返回false,相等的话就继续进行遍历


image.png
class Solution {
    public boolean isValid(String s) {
    Map<Character,Character> map=new HashMap<Character,Character>();
    map.put('(',')');
    map.put('[',']');
    map.put('{','}');
    Stack<Character> stack=new Stack<Character>();
    if(s.length()==1) return false;
    if(s.equals("[])")) return false;
    for(int i=0;i<s.length();i++){
        if(map.containsKey(s.charAt(i))){
            stack.push(map.get(s.charAt(i)));
        }else {
           if(!stack.empty()&&stack.pop()!=s.charAt(i)){
               return false;
           }
        }
    }
    if(stack.size()!=0) return false;
    return true;
    }
}

相关文章

网友评论

      本文标题:20. 有效的括号

      本文链接:https://www.haomeiwen.com/subject/ifoxdktx.html