栈在括号匹配中的应用

只包含括号的表达式({【】})是否对称匹配

算法基本原理

  1. 从头开始扫描表达式
    • 遇到左括号【,(,{ 入栈
    • 遇到右括号则弹出括号进行匹配,不匹配则配对失败
  2. 重复操作,直到扫描完整个表达式
  3. 如果最后栈不空则匹配失败

栈在后缀表达式中的应用

后缀表达式是指两个操作数A和B在前,运输符+ - * / 在后,例如AB+表示A+B

中缀表达式转后缀表达式
基本思路

  1. 遍历中缀表达式
    • 遇到操作数,加入后缀表达式
    • 遇到运算符,如果栈中存在比其优先级大或相等的运算符则将运算符弹出,直到遇到(结束,该元素加入后缀表达式;如果栈中运算符优先级均小于当前运算符,则当前运算符入栈
    • 遇到则入栈,遇到则弹出栈中元素加入后缀表达式,直到遇到(