博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Evaluate Reverse Polish Notation
阅读量:5323 次
发布时间:2019-06-14

本文共 1250 字,大约阅读时间需要 4 分钟。

Evaluate the value of an arithmetic expression in Reverse Polish Notation.
Valid operators are +, -, *, /. Each operand may be an integer or another expression.
Some examples:
["2", "1", "+", "3", "*"] -> ((2 + 1) * 3) -> 9
["4", "13", "5", "/", "+"] -> (4 + (13 / 5)) -> 6
Solution: stack.
1 class Solution { 2 public: 3     int evalRPN(vector
&tokens) { 4 stack
s; 5 for (int i = 0; i < tokens.size(); ++i) { 6 if (tokens[i] != "+" && tokens[i] != "-" && tokens[i] != "*" && tokens[i] != "/") 7 s.push(stoi(tokens[i])); 8 else { 9 int op2 = s.top();s.pop();10 int op1 = s.top();s.pop();11 int result = 0;12 if(tokens[i] == "+")13 result = op1 + op2;14 else if(tokens[i] == "-")15 result = op1 - op2;16 else if(tokens[i] == "*")17 result = op1 * op2;18 else if(tokens[i] == "/")19 result = op1 / op2;20 s.push(result);21 }22 }23 return s.top();24 }25 };

 

转载于:https://www.cnblogs.com/zhengjiankang/p/3682343.html

你可能感兴趣的文章
freebsd 实现 tab 命令 补全 命令 提示
查看>>
struts1和struts2的区别
查看>>
函数之匿名函数
查看>>
shell习题第16题:查用户
查看>>
实验4 [bx]和loop的使用
查看>>
Redis常用命令
查看>>
2018.11.06 bzoj1040: [ZJOI2008]骑士(树形dp)
查看>>
2019.02.15 bzoj5210: 最大连通子块和(链分治+ddp)
查看>>
redis cluster 集群资料
查看>>
微软职位内部推荐-Sr. SE - Office incubation
查看>>
微软职位内部推荐-SOFTWARE ENGINEER II
查看>>
centos系统python2.7更新到3.5
查看>>
C#类与结构体究竟谁快——各种函数调用模式速度评测
查看>>
我到底要选择一种什么样的生活方式,度过这一辈子呢:人生自由与职业发展方向(下)...
查看>>
poj 题目分类
查看>>
windows 安装yaml支持和pytest支持等
查看>>
读书笔记:季羡林关于如何做研究学问的心得
查看>>
面向对象的优点
查看>>
套接口和I/O通信
查看>>
阿里巴巴面试之利用两个int值实现读写锁
查看>>