当前位置:   article > 正文

数据结构-栈_栈是一种存取什么数据结构

栈是一种存取什么数据结构

  栈是一种简单的数据结构。是一种先进后出的结构,类似于羽毛球桶里存放羽毛球,先放进去的羽毛球只能最后才能取出来。栈是一种线性数据结构,我们可以使用数组、链表等实现栈。利用栈的先进后出的特性可以实现很多功能。例如:文本中的括号匹配校验;浏览器访问记录的回退等功能。

括号的匹配校验

class Solution {
    public boolean isValid(String s) {
        if(s==null||s.length()<2){
            return false;
        }
        Stack<Character> stack = new Stack<>();
        Map<Character,Character> map = new HashMap(3);
        map.put(')','(');
        map.put(']','[');
        map.put('}','{');
        for(int i=0;i<s.length();i++){
            char ch = s.charAt(i);
            if(ch-'('==0||ch-'{'==0||ch-'['==0){
                stack.push(ch);
            }else if(ch-')'==0||ch-'}'==0||ch-']'==0){
                if(stack.isEmpty()){
                    return false;
                }
                char c = stack.pop();
                if(map.get(ch)-c!=0){
                    return false;
                }
            }
        }
        if(!stack.isEmpty()){
            return false;
        }
        return true;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/513882
推荐阅读
相关标签
  

闽ICP备14008679号