Basic Calculator
https://leetcode.com/problems/basic-calculator/description/
Implement a basic calculator to evaluate a simple expression string.
The expression string may contain open
(
and closing parentheses)
, the plus+
or minus sign-
,non-negativeintegers and empty spaces.You may assume that the given expression is always valid.
Thoughts
eval由+-()组成的数学数学表达式。nested括号匹配是stack最常见的应用之一。栈里存(之前计算出的结果并记录(对应的正负号,栈外存当前的结果。遇到)就把s内一个结果pop出并和当前结果合并成新的当前结果。
Code
Analysis
Errors:
忘了把num, res, sigh等重置
右括号时忘了写res += sign * num;
时空复杂度都是O(N).
Last updated
Was this helpful?