这里只用一个方法(函数)描述这个算法:

public int match(char[] bra_exp) {//初始化栈StackInterface<Character> stack = new SequentialStack<>(bra_exp.length);//依次处理每一个字符for (int i = 0; i < bra_exp.length; i++) {//扫描当前字符是左括号if (bra_exp[i] == ')') {//判断栈是否非空if (!stack.isEmpty()) {stack.pop();} else {return -1;}} else if (bra_exp[i] == '(') {     //扫描当前字符是左括号//入栈stack.push('(');}}//栈空则正确匹配if (stack.isEmpty()) {return 0;} else {return 1;}
}

【Java】基于栈的括号匹配问题相关推荐

  1. python括号匹配o(1)复杂度_Python面试题:使用栈处理括号匹配问题

    括号匹配是栈应用的一个经典问题, 题目 判断一个文本中的括号是否闭合, 如: text = "({[({{abc}})][{1}]})2([]){({[]})}[]", 判断所有括 ...

  2. 利用顺序栈解决括号匹配问题(c++)-- 数据结构

    利用顺序栈解决括号匹配问题(c++)-- 数据结构 参考文章: (1)利用顺序栈解决括号匹配问题(c++)-- 数据结构 (2)https://www.cnblogs.com/yi2105/p/106 ...

  3. C++ 栈的括号匹配

    总结归纳 算法思想: 设置一个空栈,顺序读取括号.读取左括号时,将括号入栈:读取右括号时,弹出栈顶元素,栈顶即是与之匹配的最近的左括号. 匹配不成功的三种情况:(1)读取右括号时,此时栈空,没有与之匹 ...

  4. 数据结构链表之栈——解决括号匹配问题和逆波兰表达式求值问题——6

    括号匹配问题和逆波兰表达式求值问题 基于上一节已经使用python代码对栈进行了简单的实现,这一节我们在其基础上解决两个常见的问题 案例 括号匹配问题(点我直接到代码实现) 逆波兰表达式求值问题(点我 ...

  5. 六十三、栈在括号匹配和表达式求值中的应用

    @Author:Runsen 编程的本质来源于算法,而算法的本质来源于数学,编程只不过将数学题进行代码化. ---- Runsen 算法,一门既不容易入门,也不容易精通的学问. 文章目录 括号匹配 数 ...

  6. 数据结构-栈在括号匹配中的应用

    所谓括号校验匹配其实质是对多种类型括号正确配对的校验(包括:().[].{})即([])或者[()]为正确的表达式,如果出现交叉则匹配失败,如[(])或([())则为不正确格式. 该程序也运用了栈的思 ...

  7. python中用函数设计栈的括号匹配问题_数据结构和算法(Python版):利用栈(Stack)实现括号的匹配问题...

    算法 数据结构 数据结构和算法(Python版):利用栈(Stack)实现括号的匹配问题 在平时写程序当中,我们会经常遇到程序当中括号的匹配问题,也就是在程序当中左括号的数量和右括号的数量必须相等.如 ...

  8. 栈在括号匹配中的应用

    括号匹配问题 假设表达式中允许包含两种括号:圆括号和方括号,其嵌套的顺序任意即()或[([][])]等均为正确的格式,[(]或([())或(()]均为不正确的格式. void test() {int ...

  9. python用栈实现括号匹配问题

    问题描述: 给定一个字符串文字,里面可能含有"()","[]","{}"三种 括号,判断字符串中的括号是否都成对出现*** 思路分析: 如果 ...

最新文章

  1. log4j(四)——如何控制不同风格的日志信息的输出?
  2. linux动态线程池--原理,这儿的代码不完整
  3. sed修炼系列(四):sed中的疑难杂症
  4. 组合模式_设计模式结构性:组合模式(CompositePattern)
  5. R中rep函数的使用
  6. 优秀博客链接(linux c/c++ java go php android ios 前端 j2ee windows linux 算法 ACM 深度/机器学习 AI opencv nlp)
  7. linux启动tongweb命令,linux7开机自启动东方通tongweb
  8. Hbase RegionServer 宕机
  9. 在Node中基于Mongoose对MongoDB进行增删查改(CRUD)操作(一)
  10. 云计算基础架构实施要经历三个阶段
  11. Worktile 中百万级实时消息推送服务的实现
  12. 鸢尾花数据集的线性多分类
  13. linux rm 提示无法删除“xxxxxxx“:不允许的操作
  14. Python+大数据-数据处理与分析-pandas快速入门
  15. Ant(蚂蚁搬家)工具
  16. linux下模拟登陆环境安装
  17. html 图片正方形,关于CSS:如何使图像显示为正方形?
  18. iofod - 为攻城师们打造的低代码平台
  19. 全面了解Unittest单元测试框架
  20. 宏定义宏函数 if else语句报错:error: ‘else’ without a previous ‘if’(看似解决实际上没解决)

热门文章

  1. vue 中 created 和 mounted 钩子生命周期 问题
  2. ●BZOJ 1855 [Scoi2010]股票交易
  3. Java Lambda表达
  4. Rust 中的继承与代码复用
  5. 2011 - 12 - 12记录2011 - 12 - 11
  6. C#winform抓取百度,Google搜索关键词结果
  7. 上周ASP.NET英文技术文章推荐[05/06 - 05/12]
  8. 深度学习优化算法实现(Momentum, Adam)
  9. 计算机基本运行方式,我今天才知道的电脑运行方式,你知道吗?
  10. oracle rac实例切换,RAC+单实例DG的切换