Leetcode 224. 基本计算器

文章目录

  • 题目
  • [代码(10.1 首刷看解析)](#代码(10.1 首刷看解析))

题目


Leetcode 224. 基本计算器

代码(10.1 首刷看解析)

cpp 复制代码
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;
    }
};
相关推荐
Emberone7 分钟前
排序:万物皆有序
算法·排序算法
其实秋天的枫9 分钟前
2025年12月英语六级真题及答案解析完整版(第一、二、三套全PDF)
经验分享·算法
2401_8747325315 分钟前
C++并发编程中的死锁避免
开发语言·c++·算法
2301_7923082517 分钟前
C++编译期数学计算
开发语言·c++·算法
hetao173383717 分钟前
2025-03-13~22 hetao1733837 的刷题记录
c++·算法
sqyno1sky29 分钟前
C++中的契约编程
开发语言·c++·算法
优化控制仿真模型41 分钟前
2026年最新驾考科目一考试题库2309道全。电子版pdf
经验分享·算法·pdf
qq_3349031543 分钟前
嵌入式C++驱动开发
开发语言·c++·算法
阿贵---1 小时前
C++代码规范化工具
开发语言·c++·算法
暮冬-  Gentle°1 小时前
自定义内存检测工具
开发语言·c++·算法