Leetcode 链接

面试题 16.26. 计算器

题干

给定一个包含正整数、加(+)、减(-)、乘(*)、除(/)的算数表达式(括号除外),计算其结果。

表达式仅包含非负整数,+, - ,*,/ 四种运算符和空格。 整数除法仅保留整数部分。

示例 1:

输入: "3+2*2"
输出: 7

示例 2:

输入: " 3/2 "
输出: 1

示例 3:

输入: " 3+5 / 2 "
输出: 5

提示:

  • 你可以假设所给定的表达式都是有效的。
  • 请不要使用内置的库函数 eval。

思路

用两个栈实现, 一个栈存放操作数, 一个栈存放操作符

例如 : 3/2 = 1

Stack  A   B
3 / 2
    3
            

实现


Benchmark

执行用时: ms
内存消耗: MB

Leetcode 提交记录

常规算法