Leetcode 224. 基本计算器
文章目录
- 题目
- 代码(10.1 首刷看解析)
题目
Leetcode 224. 基本计算器
代码(10.1 首刷看解析)
class Solution {
public:int calculate(string s) {stack<int> sk; // 存储正负号sk.push(1);int sign = 1;int res = 0;int i = 0;while(i < s.size()) {if(s[i] == ' ') {i++;} else if(s[i] == '+') {sign = sk.top();i++;} else if(s[i] == '-') {sign = -sk.top();i++;} else if(s[i] == '(') {sk.push(sign);i++;} else if(s[i] == ')') {sk.pop();i++;} else {long long num = 0;while(i < s.size() && isdigit(s[i])) {num = num*10+s[i]-'0';i++;}res += num*sign;}}return res;}
};