题目描述很简单,再基本计算器Ⅰ的基础上要再添加乘除运算
可以考虑用栈+递归的思路解决。
算法思路如下:
从左往右依次遍历判断每个遇到的字符,如果是数字,则记录更新当前的数字,如果是运算符,则根据上一次的运算符将计算后的结果存入栈中,如果是左括号则代表遇到了子问题,递归调用函数,如果是右括号,break掉,进行栈内结果的计算。
代码如下:`
class Solution {
private int index = 0;
public int calculate(String s) {
char[] ch = s.toCharArray();
return cal(ch);
}
private int cal(char[] ch){
Deque<Integer