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

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

Evaluate the value of an arithmetic expression in .

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

注意:一定要使用后出栈的操作数作为第一操作数,否则,对于没有对称操作的操作符会出错。

 C++实现代码:
#include
#include
#include
#include
#include
using namespace std;class Solution{public: int evalRPN(vector
&tokens) { stack
operand; int operand1; int operand2; if(tokens.empty()) return 0; int i; for(i=0; i<(int)tokens.size(); i++) { if(tokens[i]=="+") { if(!operand.empty()) { operand1=operand.top(); operand.pop(); } if(!operand.empty()) { operand2=operand.top(); operand.pop(); } operand2+=operand1; operand.push(operand2); } else if(tokens[i]=="-") { if(!operand.empty()) { operand1=operand.top(); operand.pop(); } if(!operand.empty()) { operand2=operand.top(); operand.pop(); } operand2-=operand1; operand.push(operand2); } else if(tokens[i]=="*") { if(!operand.empty()) { operand1=operand.top(); operand.pop(); } if(!operand.empty()) { operand2=operand.top(); operand.pop(); } operand2*=operand1; operand.push(operand2); } else if(tokens[i]=="/") { if(!operand.empty()) { operand1=operand.top(); operand.pop(); } if(!operand.empty()) { operand2=operand.top(); operand.pop(); } operand2/=operand1; operand.push(operand2); } else { operand1=atoi(tokens[i].c_str()); operand.push(operand1); } } return operand.top(); }};int main(){ Solution s; vector
vec={ "4","13","5","/","+"}; cout<
<

 

转载地址:http://yqhso.baihongyu.com/

你可能感兴趣的文章
编译mysql5.6.27
查看>>
搭建centos6.7网站服务器记录
查看>>
我的友情链接
查看>>
Release版本调用ffmpeg av_register_all程序崩溃
查看>>
Referenced management pack not found
查看>>
jquery中data函数的用法示例
查看>>
巧用strtotime函数计算日期
查看>>
JVM中java对象的生命周期
查看>>
mysql 查看连接数,状态
查看>>
JFinal集成YUI Compressor压缩合并JS和CSS
查看>>
windows下的Oracle卸载
查看>>
sqlserver查看死锁的存储过程
查看>>
在VirtualBox中的CentOS 6.3下安装VirtualBox增强包(GuestAd...
查看>>
Java开发中的23种设计模式详解(转)
查看>>
我的友情链接
查看>>
组策略18招
查看>>
关于Android中的数据存储
查看>>
Tomcat配置日志生产功能
查看>>
js的自执行函数
查看>>
移植Qt与Tslib到X210开发板的体会
查看>>