LeetCode第一题:Evaluate Reverse Polish Notation
来源:互联网 发布:diy设计软件 编辑:程序博客网 时间:2024/06/01 13:03
时间:2014.06.11
地点:基地
--------------------------------------------------------------------
一、题目
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
--------------------------------------------------------------------
二、逆波兰求值问题,直接上源码
注意除法不满足交换律
#include<vector>#include<stack>#include<string>#include<cctype>#include<iostream>using namespace std;class Solution {public:int evalRPN(vector<string> &tokens) {stack<int> my_stack_int;int lf = 0, rh = 0;for (auto& str : tokens){if (isdigit(str[0]))my_stack_int.push(stoi(str));else{rh = my_stack_int.top();my_stack_int.pop();lf = my_stack_int.top();my_stack_int.pop();switch (str[0]){case '+':lf += rh;break;case '-':lf -= rh;break;case '/':lf /= rh;break;case '*':lf *= rh;break;default:break;}my_stack_int.push(lf);}}return my_stack_int.top();}};int main(){vector<string> str_vec{ "4", "13", "5", "/", "+" };Solution sl;int a = sl.evalRPN(str_vec);cout << a << endl;}
0 0
- LeetCode第一题:Evaluate Reverse Polish Notation
- Evaluate Reverse Polish Notation | leetcode
- leetcode-Evaluate Reverse Polish Notation
- Leetcode: Evaluate Reverse Polish Notation
- LeetCode - Evaluate Reverse Polish Notation
- LeetCode | Evaluate Reverse Polish Notation
- Leetcode: Evaluate Reverse Polish Notation
- Leetcode: Evaluate Reverse Polish Notation
- Evaluate Reverse Polish Notation (LeetCode)
- leetcode: Evaluate Reverse Polish Notation
- Leetcode Evaluate Reverse Polish Notation
- [LeetCode] Evaluate Reverse Polish Notation
- [LeetCode] Evaluate Reverse Polish Notation
- Evaluate Reverse Polish Notation -- LeetCode
- 【LeetCode】Evaluate Reverse Polish Notation
- LeetCode-Evaluate Reverse Polish Notation
- LeetCode:Evaluate Reverse Polish Notation
- LeetCode Evaluate Reverse Polish Notation
- 引用和指针变量的区别
- 白话经典算法系列之七 堆与堆排序
- Low-level Native Plugin Interface
- 移动开发
- leetcode:Path Sum II
- LeetCode第一题:Evaluate Reverse Polish Notation
- 对Android的Activity生命周期非常详尽的讲解!!
- oj(二)h
- main函数参数解析
- Linux--命令--gdb
- 非阻塞型TCP通信
- 对单例模式的理解
- 黑码程序员_集合
- Android Kitchen简单精简C8650官方ROM