#刷题交流# 简单四则运算解析器:
解题思路:
1.初始化栈:创建两个栈,一个用于操作数,一个用于运算符。
2.遍历表达式:逐字符遍历表达式字符串。
如果当前字符是数字,将其转换为整数并压入操作数栈。
如果当前字符是运算符或括号:
如果运算符栈为空或栈顶是左括号,直接压入运算符栈。
如果当前运算符优先级高于栈顶运算符,直接压入运算符栈。
如果当前运算符优先级低于或等于栈顶运算符,弹出运算符栈顶元素并进行计算,直到满足优先级条件,然后将当前运算符压入栈。
如果遇到左括号,直接压入运算符栈。
如果遇到右括号,弹出运算符栈顶元素并进行计算,直到遇到左括号。
3.计算剩余表达式:遍历结束后,如果运算符栈中还有元素,依次弹出并进行计算。
4.返回结果:操作数栈中剩下的唯一元素即为表达式的结果。