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;
    }
}
相关推荐
Q741_1473 小时前
每日一题 力扣 3655. 区间乘法查询后的异或 II 模拟 分治 乘法差分法 快速幂 C++ 题解
c++·算法·leetcode·模拟·快速幂·分治·差分法
The_Ticker3 小时前
印度股票实时行情API(低成本方案)
python·websocket·算法·金融·区块链
夏乌_Wx3 小时前
剑指offer | 2.4数据结构相关题目
数据结构·c++·算法·剑指offer·c/c++
AI成长日志4 小时前
【笔面试算法学习专栏】哈希表基础:两数之和与字母异位词分组
学习·算法·面试
abant24 小时前
leetcode 239 单调队列 需要一些记忆
算法·leetcode·职场和发展
漫霂5 小时前
二叉树的统一迭代遍历
java·算法
炽烈小老头5 小时前
【每天学习一点算法 2026/04/08】阶乘后的零
学习·算法
Mr_Xuhhh5 小时前
算法刷题笔记:从滑动窗口到哈夫曼编码,我的算法进阶之路
开发语言·算法
MicroTech20255 小时前
突破虚时演化非酉限制:MLGO微算法科技发布可在现有量子计算机运行的变分量子模拟技术
科技·算法·量子计算
hssfscv5 小时前
软件设计师下午题六——Java的各种设计模式
java·算法·设计模式