给你一个字符串表达式 s ,请你实现一个基本计算器来计算并返回它的值。整数除法仅保留整数部分。
示例 1:
输入:s = "3+2*2"
输出:7
示例 2:
输入:s = " 3/2 "
输出:1
示例 3:
输入:s = " 3+5 / 2 "
输出:5
提示:
- s 由整数和算符 (‘+’, ‘-‘, ‘*’, ‘/‘) 组成,中间由一些空格隔开
- s 表示一个有效表达式
- 表达式中的所有整数都是非负整数,且在范围
内
- 题目数据保证答案是一个 32-bit 整数
题解
本题没有括号,想多了😌
遇到数字,更新res,
遇到符号,就把先前的结果放入栈中,如果是+、-,改变num的sign即可,然后弹出res,res+=sign*num
遇到乘除,就弹出res,res*=num
或者res/=num