package
0.0.0-20240501152552-44d6fb1afb4e
Repository: https://github.com/bwangelme/leetcode-go.git
Documentation: pkg.go.dev
# Functions
Cal
计算四则运算表达式
## 思路
创建两个栈,一个保存操作数,另一个保存运算符
我们从左向右遍历表达式,当遇到数字,我们就直接压入操作数栈;
当遇到运算符,就与运算符栈的栈顶元素进行比较。
如果比运算符栈顶元素的优先级高,就将当前运算符压入栈;
如果比运算符栈顶元素的优先级低或者相同,从运算符栈中取栈顶运算符,从操作数栈的栈顶取 2 个操作数,然后进行计算,再把计算完的结果压入操作数栈,继续比较。
## 复杂度分析
CalFullStack 的复杂度是 O(M),M 是 opStack 的长度
Cal 的复杂度 O(N * M), N 是表达式中字符的个数
所以 Cal 的复杂度就是 O(N^2)
*/.
CalFullStack
计算满状态的栈的表达式结果
满状态栈:opStack 有N个操作符,digitStack 有2N个数字
*/.
GetDigitFromExpression
@description: 从表达式中解析数字
@param: expression 表达式
@param: digitStart 从这一位开始是数字
*/.
No description provided by the author
No description provided by the author
# Type aliases
No description provided by the author