国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

Leetcode 150. Evaluate Reverse Polish Notation

2019-11-11 05:31:25
字體:
供稿:網(wǎng)友

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

s思路: 1. 一看結(jié)構(gòu),就是需要用stack。例如: [“4”, “13”, “5”, “/”, “+”] ,把遇到的數(shù)先放進stack,所以當(dāng)遇到”/”時,stack里面有三個數(shù):4,13,5。遇到”/”,表示取stack 前面的2個數(shù)做除法,所以13/5=2,然后把2放進stack;當(dāng)遇到”+”時,表示取stack 前面的2個數(shù)做加法,所以4+2=6,然后把6放進stack 2. 當(dāng)然stack可以用vector來替代。

class Solution {public: int evalRPN(vector<string>& tokens) { // vector<int> res; for(string s:tokens){ if(s=="+"||s=="-"||s=="*"||s=="/"){ int op2=res.back(); res.pop_back(); int op1=res.back(); res.pop_back(); if(s=="+") res.push_back(op1+op2); else if(s=="-") res.push_back(op1-op2); else if(s=="*") res.push_back(op1*op2); else if(s=="/"){ res.push_back(op1/op2); } }else res.push_back(stoi(s)); } return res.front(); }};
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 克什克腾旗| 祥云县| 田林县| 香格里拉县| 皮山县| 贡觉县| 福泉市| 广东省| 新河县| 齐齐哈尔市| 宜昌市| 巴中市| 城固县| 时尚| 绥阳县| 新郑市| 古田县| 昌江| 凌源市| 广水市| 巴林右旗| 石林| 调兵山市| 平南县| 云龙县| 阿鲁科尔沁旗| 合肥市| 乌拉特后旗| 汉川市| 江孜县| 农安县| 邛崃市| 文水县| 临泽县| 黔西县| 东莞市| 罗江县| 滦平县| 叙永县| 万全县| 武义县|