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;
    }
};
相关推荐
一只鸡某37 分钟前
实习冲刺第三十一天
数据结构·c++·算法·leetcode·排序算法
材料苦逼不会梦到计算机白富美1 小时前
贪心算法-Huffman树 不等式 推公式
算法·贪心算法
Y.O.U..1 小时前
力扣刷题-excel表名称序列相转换
算法·leetcode·excel
立志成为master1 小时前
HBU算法设计与分析 贪心算法
c++·算法·贪心算法
野風_199602012 小时前
10大排序总结
数据结构·算法·排序算法
慕容复之巅2 小时前
基于Matlab的图像去噪算法仿真(二)
图像处理·算法·matlab
Lenyiin2 小时前
02.02、返回倒数第 k 个节点
c++·算法·leetcode
慕容复之巅2 小时前
基于Matlab的图像去噪算法仿真
图像处理·算法·matlab
SUN_Gyq3 小时前
什么是C++中的Lambda表达式?它的作用是什么?Lambda表达式可以捕获哪些类型的变量?有哪些捕获方式?
java·开发语言·c++·算法
BigShark8883 小时前
2025蓝桥杯(单片机)备赛--扩展外设之PWM的原理与应用(十三)
单片机·职场和发展·蓝桥杯