class Solution {
public:
int calculate(string s) {
istringstream in('+' + s + '+'); // 这一步很好,简化了问题
int ret = 0;
int num;
int partial = 0;
char op;
while(in>>op){
if (op == '+' || op == '-'){
ret += partial;
in>>partial;
partial *= (op == '+' ? 1 : -1);
}
else{
in>>num;
if (op == '*')
partial *= num;
else
partial /= num;
}
}
return ret;
}
};