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;
    }
}
相关推荐
暖阳华笺29 分钟前
【高频考点】K-Means聚类算法
c++·算法·机器学习·kmeans·聚类
下午写HelloWorld33 分钟前
后量子密码算法:协同签名研究综述
算法·密码学·后量子·协同签名
小蒋学算法35 分钟前
算法-计算右侧小于当前元素的个数-分治&归并思想
java·数据结构·算法
lqqjuly36 分钟前
FlashAttention 深度解析
人工智能·深度学习·算法
满怀冰雪42 分钟前
第05篇-滑动窗口算法-一套模板解决子串与子数组问题
java·算法
叫我:松哥1 小时前
基于LSTM与ARIMA的城市空气质量分析与预测系统
人工智能·python·rnn·算法·机器学习·flask·lstm
j7~1 小时前
【C++】模板初阶--函数模板,类模板详解
数据结构·c++·算法·函数模板·类模板·函数模板实例化
无限码力1 小时前
阿里算法岗 0530笔试真题 - 寻找满足条件的最优子序列
算法·阿里笔试真题·阿里机试真题·阿里算法岗笔试真题·阿里算法题
@小阿宝1 小时前
机器人正向逆向运动学
算法·机器人
小雨下雨的雨1 小时前
数独算法与求解器鸿蒙PC Electron框架完成深度解析
javascript·人工智能·算法·游戏·华为·electron·鸿蒙系统