Golang | Leetcode Golang题解之第227题基本计算器II

题目:

题解:

func calculate(s string) (ans int) {
    stack := []int{}
    preSign := '+'
    num := 0
    for i, ch := range s {
        isDigit := '0' <= ch && ch <= '9'
        if isDigit {
            num = num*10 + int(ch-'0')
        }
        if !isDigit && ch != ' ' || i == len(s)-1 {
            switch preSign {
            case '+':
                stack = append(stack, num)
            case '-':
                stack = append(stack, -num)
            case '*':
                stack[len(stack)-1] *= num
            default:
                stack[len(stack)-1] /= num
            }
            preSign = ch
            num = 0
        }
    }
    for _, v := range stack {
        ans += v
    }
    return
}

相关推荐

  1. LeetCode 227. 基本计算器 II

    2024-07-11 06:12:05       19 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-11 06:12:05       53 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-11 06:12:05       55 阅读
  3. 在Django里面运行非项目文件

    2024-07-11 06:12:05       46 阅读
  4. Python语言-面向对象

    2024-07-11 06:12:05       56 阅读

热门阅读

  1. CentOS 系统监控项

    2024-07-11 06:12:05       19 阅读
  2. UCOS-III 与UCOS-III主要功能差异

    2024-07-11 06:12:05       14 阅读
  3. 用 adb 来模拟手机插上电源和拔掉电源的情形

    2024-07-11 06:12:05       19 阅读
  4. OpenResty程序如何连接开启了TLS的Redis?

    2024-07-11 06:12:05       22 阅读
  5. Jitsi Meet指定用户成为主持人

    2024-07-11 06:12:05       17 阅读
  6. Rust编程-编写自动化测试

    2024-07-11 06:12:05       24 阅读
  7. 开源大势所趋

    2024-07-11 06:12:05       21 阅读
  8. Sqlmap中文使用手册 - Target模块参数使用

    2024-07-11 06:12:05       23 阅读
  9. Grind 75 - Leetcode146 LRU缓存

    2024-07-11 06:12:05       23 阅读
  10. vue3 学习笔记02 -- 配置路由router+导航守卫

    2024-07-11 06:12:05       24 阅读