Leetcode 有效括号 栈

Stack.push():压入栈中

Stack.pop():弹出栈顶元素并删除

Stack.peek():弹出栈顶元素但不删除

java 复制代码
class Solution {
    public boolean isValid(String s) {
        Stack<Character> stack=new Stack<>();
        for(int i=0;i<s.length();i++){
            char ch=s.charAt(i);
            if(ch=='('||ch=='{'||ch=='['){
                stack.push(ch);
            }else{
                // 此时是右括号
                if(stack.empty()){    //栈空但是还有右括号
                    return false;
                }

                char topstack=stack.peek(); //查询栈顶元素
                if((topstack=='(' && ch==')') ||(topstack=='{' && ch=='}') || (topstack=='[' && ch==']') ){
                    stack.pop();//弹出栈顶元素并删除
                }else{
                    //匹配失败
                    return false;
                }
            }
        }
        if(!stack.empty()){ //栈不空但是已经没有右元素了
            return false;
        }
        return true;
    }
}
相关推荐
空空潍21 小时前
hot100-最小覆盖字串(day12)
数据结构·算法·leetcode
Rui_Freely21 小时前
Vins-Fusion之 相机—IMU在线标定(十一)
人工智能·算法·计算机视觉
yyy(十一月限定版)1 天前
算法——二分
数据结构·算法
七点半7701 天前
c++基本内容
开发语言·c++·算法
嵌入式进阶行者1 天前
【算法】基于滑动窗口的区间问题求解算法与实例:华为OD机考双机位A卷 - 最长的顺子
开发语言·c++·算法
嵌入式进阶行者1 天前
【算法】用三种解法解决字符串替换问题的实例:华为OD机考双机位A卷 - 密码解密
c++·算法·华为od
罗湖老棍子1 天前
信使(msner)(信息学奥赛一本通- P1376)四种做法
算法·图论·dijkstra·spfa·floyd·最短路算法
生成论实验室1 天前
生成论之基:“阴阳”作为元规则的重构与证成——基于《易经》与《道德经》的古典重诠与现代显象
人工智能·科技·神经网络·算法·架构
CCPC不拿奖不改名1 天前
python基础:python语言中的函数与模块+面试习题
开发语言·python·面试·职场和发展·蓝桥杯