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;
    }
};
相关推荐
Cccp.1233 小时前
【leetcode】(十三)大数据处理
数据结构·算法·leetcode
学逆向的3 小时前
C 选择结构的执行效率分析
c语言·开发语言·算法·网络安全
wzdark3 小时前
动态规划算法的状态转移矩阵可视化分析5
算法·矩阵·动态规划
Pniubi3 小时前
力扣70爬楼梯
数据结构·算法·leetcode
人工智能培训3 小时前
具身智能环境交互与学习范式原理
大数据·linux·人工智能·学习·算法·机器学习
救救孩子把4 小时前
AI面试八股文-12_11-多模态大模型面试题
人工智能·面试·职场和发展·多模态·clip·rag·llave
纪念 2294 小时前
C++算法(三)
开发语言·c++·算法
学不会pwn不改名4 小时前
时间复杂度与空间复杂度详解
算法
RD_daoyi4 小时前
外贸独立站从0到1:平台选择 + 建站流程 + 新手避坑
大数据·服务器·网络·人工智能·搜索引擎·职场和发展
AbandonForce4 小时前
递归、搜索与回溯:从板书到二叉树解题方法
c++·算法·决策树