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;
    }
};
相关推荐
AMoon丶7 分钟前
Golang--锁
linux·开发语言·数据结构·后端·算法·golang·mutex
x_xbx8 分钟前
LeetCode:88. 合并两个有序数组
算法·leetcode·职场和发展
ฅ^•ﻌ•^ฅ116 分钟前
LeetCode hot 100(复习c++) 1-15
c++·算法·leetcode
alphaTao18 分钟前
LeetCode 每日一题 2026/3/9-2026/3/15
算法·leetcode·职场和发展
Kiyra20 分钟前
[特殊字符] LeetCode 做题笔记(二):678. 有效的括号字符串
笔记·算法·leetcode
Fcy64821 分钟前
与队列有关练习题
算法
TracyCoder12322 分钟前
LeetCode Hot100(71/100)——152. 乘积最大子数组
算法·leetcode·职场和发展
Z9fish23 分钟前
sse哈工大C语言编程练习44
c语言·c++·算法
李日灐25 分钟前
改造红黑树实现封装 map/set:感受C++ 标准容器的精妙设计与底层实现
开发语言·数据结构·c++·后端·算法·红黑树
李日灐27 分钟前
【优选算法1】双指针经典算法题
数据结构·c++·后端·算法·刷题·双指针