当前位置: 首页 > news >正文

LeetCode:20. 有效的括号(java)

题目描述:

给定一个只包括 '('')''{''}''['']' 的字符串 s ,判断字符串是否有效。

有效字符串需满足:

  1. 左括号必须用相同类型的右括号闭合。
  2. 左括号必须以正确的顺序闭合。
  3. 每个右括号都有一个对应的相同类型的左括号。

示例 1:

输入:s = "()"

输出:true

示例 2:

输入:s = "()[]{}"

输出:true

示例 3:

输入:s = "(]"

输出:false

示例 4:

输入:s = "([])"

输出:true

代码:

public boolean isValid(String s) {ArrayStack<Character> stack = new ArrayStack<>(s.length());//如果遇到左括号,把匹配的右括号压入栈中//如果遇到右括号,判断栈顶元素是否是匹配的左括号for (int i = 0; i < s.length(); i++) {char c = s.charAt(i);if (c == '(') {stack.push(')');} else if (c == '[') {stack.push(']');} else if (c == '{') {stack.push('}');} else {if (!stack.isEmpty()&&c == stack.peek()) {//peek()是不移除的stack.pop();//删掉栈顶元素} else {return false;}}}return stack.isEmpty();}


http://www.mrgr.cn/news/66370.html

相关文章:

  • pdf文件预览和导出
  • MySQL的约束和三大范式
  • 「C/C++」C/C++标准库 之 #include<cstdlib> 通用工具函数库
  • 文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《考虑时空非均匀的特高压阀侧套管数字孪生模型降阶算法研究 》
  • 类被加载到jvm后再被注册到Spring中
  • MATLAB绘制水蒸气温度和压力曲线(IAPWS-IF97公式)
  • 跨平台开发对于不同平台调用接口的抽象层设计
  • 项目管理基础认知
  • 轻松理解操作系统 - 轻松了解 inode 是如何管理文件的
  • 单臂路由技术,eNSP实验讲解
  • golang 实现比特币内核:处理椭圆曲线中的天文数字
  • 医院信息化与智能化系统(17)
  • 【Linux】简易版shell
  • 机器人零位、工作空间、坐标系及其变换,以UR5e机器人为例
  • 问政浔川(1)—— 有了浔川社团官方联合会和社团官方,那么浔川总社部是干什么的呢?
  • 练习LabVIEW第三十九题
  • vue3如果ul的li太多展示不了,展示滑动scroll
  • 网络安全新前沿:防御策略与技术革新
  • 深度学习经典模型之LeNet-5
  • MATLAB实现人工免疫网络算法(Artificial Immune Network Algorithm, AINA)
  • stm32学习4
  • 聚合(Aggregate)
  • ADNI蛋白质数据集下载
  • 基于Python+Vue开发的口腔牙科预约管理系统
  • 十月末补充(?
  • 李沐Softmax回归从零开始实现代码中的关于y和y_hat