Advertisement

双栈表达式求值问题

阅读量:

什么是表达式求值的核心?
即给定一个字符串需要我们计算其结果,请问例如在'1+3×2−3'的情况下如何解答?
让我们来探讨几个相关的问题。

1.基本计算器

在这里插入图片描述

2.基本计算器Ⅱ

在这里插入图片描述

我们能够认识到这一点:实际上这就是一种表达式求值问题。值得注意的是,在这个问题中题目中的表达式形式并不统一:其中包含加减运算符;也包含乘除、指数运算符;此外还可能包含括号运算;甚至可能包含自定义计算规则。

那么对这类表达式求值问题有没有一种统一的方法可用呢?确实存在!彻底掌握了该方法之后无论遇到何种表达式求值问题都不会有困难了呢。

//以下方法总结自力扣一位大佬

双栈应对「通用表达式」问题的系统化方法
针对「表达式计算」这类相关类型的问题,则可采用这一套方法进行处理。

对于「任何表达式」而言,我们都使用两个栈 nums 和 ops:

nums

全部评论 (0)

还没有任何评论哟~