golang中怎么利用leetcode实现逆波兰式
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,今天就跟大家聊聊有关golang中怎么利用leetcode实现逆波兰式,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。根据逆波兰表示法,求表达式
千家信息网最后更新 2026年10月31日golang中怎么利用leetcode实现逆波兰式
今天就跟大家聊聊有关golang中怎么利用leetcode实现逆波兰式,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
根据逆波兰表示法,求表达式的值。
有效的运算符包括 +, -, *, / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。
说明:
整数除法只保留整数部分。
给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。
示例 1:
输入: ["2", "1", "+", "3", "*"]输出: 9解释: ((2 + 1) * 3) = 9
示例 2:
输入: ["4", "13", "5", "/", "+"]输出: 6解释: (4 + (13 / 5)) = 6
示例 3:
输入: ["10", "6", "9", "3", "+", "-11", "*", "/", "*", "17", "+", "5", "+"]输出: 22解释: ((10 * (6 / ((9 + 3) * -11))) + 17) + 5= ((10 * (6 / (12 * -11))) + 17) + 5= ((10 * (6 / -132)) + 17) + 5= ((10 * 0) + 17) + 5= (0 + 17) + 5= 17 + 5= 22
解题思路:
本题很简单,理解逆波兰式就ok
逆波兰式求解原理:
1,从左往右扫描token
2,如果式操作数,入栈
3,如果是操作符,弹出两个操作数
4,计算结果,将结果入栈
5,扫描完token,栈中,剩下结果,结果出栈
import "strconv"func evalRPN(tokens []string) int {var s stackfor i := 0; i < len(tokens); i++ {if !isOperator(tokens[i]) {s.Push(tokens[i])} else {op2 := s.Pop()op1 := s.Pop()res := eval(op1, op2, tokens[i])s.Push(fmt.Sprint(res))}}r := s.Pop()rv, _ := strconv.ParseInt(r, 10, 64)return int(rv)}func eval(op1 string, op2 string, token string) int64 {o1, _ := strconv.ParseInt(op1, 10, 64)o2, _ := strconv.ParseInt(op2, 10, 64)switch token {case "+":return o1 + o2case "-":return o1 - o2case "*":return o1 * o2case "/":return o1 / o2}return 0}func isOperator(token string) bool {return token == "+" || token == "-" || token == "*" || token == "/"}type stack struct {data []string}func (s *stack) Push(str string) {s.data = append(s.data, str)}func (s *stack) Pop() string {if len(s.data) < 1 {return ""}str := s.data[len(s.data)-1]s.data = s.data[:len(s.data)-1]return str}
看完上述内容,你们对golang中怎么利用leetcode实现逆波兰式有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
波兰
结果
表达式
有效
内容
整数
示例
解释
输入
输出
操作数
运算
两个
原理
对象
思路
总会
情况
换句话说
操作符
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
今日互联网科技
期待互联网科技
睿民互联网科技
上海万想互联网科技
互联网科技的未来发展
美国互联网前沿科技
滨湖区互联网智能科技产品供应
济南和联互联网科技有限公司
互联网科技寓意
互联网对科技的发展
港股科技和互联网
互联网科技商业
深圳育鹏互联网科技有限公司招聘
互联网保险科技创业
上海京穆互联网科技有限公司
广东工业互联网大赛深圳学泰科技
江苏互联网科技小贷
互联网硬科技公司
云鲸互联网络科技有限公司
武汉亿视互联网科技有限公司
互联网巨头反垄断金融科技
广州互联网络科技有限公司
伴你行互联网科技有限公司
广州慧亚互联网科技怎么样
移动互联网科技股
互联网公司科技股
互联网新科技动漫ppt素材
无锡工业互联网科技有限公司
江苏互联网智能科技软件
新氧科技和美国互联网有关系吗