golang力扣leetcode 150.逆波兰表达式求值

简介: golang力扣leetcode 150.逆波兰表达式求值

题解

逆波兰表达式是一种后缀表达式,遇到运算符就弹出两个进行运算即可,大水题

代码

package main
import "strconv"
func evalRPN(tokens []string) int {
  if len(tokens) == 0 {
    return 0
  }
  stack := make([]int, 0, len(tokens))
  for i := 0; i < len(tokens); i++ {
    val := tokens[i]
    switch val {
    case "+", "-", "*", "/":
      a2 := stack[len(stack)-1]
      stack = stack[:len(stack)-1]
      a1 := stack[len(stack)-1]
      stack = stack[:len(stack)-1]
      result := 0
      switch val {
      case "+":
        result = a1 + a2
      case "-":
        result = a1 - a2
      case "*":
        result = a1 * a2
      case "/":
        result = a1 / a2
      }
      stack = append(stack, result)
    default:
      v, _ := strconv.Atoi(val)
      stack = append(stack, v)
    }
  }
  return stack[0]
}
func main() {
}
目录
相关文章
|
4月前
|
Go
golang力扣leetcode 437.路径总和III
golang力扣leetcode 437.路径总和III
38 0
|
2月前
|
存储 人工智能 BI
leetcode 399 除法求值
leetcode 399 除法求值
13 1
|
3月前
|
Java
LeetCode题解-逆波兰表达式求值-Java
逆波兰表达式求值-Java
15 0
|
4月前
|
Go 容器 SQL
【Golang Leetcode】总目录(Day1~100)
【Golang Leetcode】总目录(Day1~100)
475 1
【Golang Leetcode】总目录(Day1~100)
|
4月前
|
Go
golang力扣leetcode 494.目标和
golang力扣leetcode 494.目标和
29 0
|
4月前
|
Go
golang力扣leetcode 剑指Offer II 114. 外星文字典
golang力扣leetcode 剑指Offer II 114. 外星文字典
19 0
|
4月前
|
Go
golang力扣leetcode 第 295 场周赛
golang力扣leetcode 第 295 场周赛
37 0
|
2月前
|
机器学习/深度学习 算法
力扣刷题日常(一)
力扣刷题日常(一)
20 2
|
2月前
|
存储 索引
《LeetCode》—— LeetCode刷题日记
《LeetCode》—— LeetCode刷题日记
|
2月前
|
搜索推荐
《LeetCode》——LeetCode刷题日记3
《LeetCode》——LeetCode刷题日记3

热门文章

最新文章