LeetCode 的 C++ 实现(二) 逆波兰式(后缀表达式求解)

编程入门 行业动态 更新时间:2024-10-24 22:26:17

LeetCode 的 C++ 实现(二) 逆<a href=https://www.elefans.com/category/jswz/34/1748907.html style=波兰式(后缀表达式求解)"/>

LeetCode 的 C++ 实现(二) 逆波兰式(后缀表达式求解)

解题思路

根据后缀表达式概念,借助栈,不断将字符入栈,当碰到当前字符是运算符,就将已入栈的左右数值弹出,求得结果后,将结果入栈

class Solution {
public:int evalRPN(vector<string> &tokens) {if(tokens.size() == 0)return 0;stack<int> result;for(auto token : tokens){if(token == "+" || token == "-" || token == "*" || token == "/"){if(result.size() < 2)return 0;int right = result.top();result.pop();int left = result.top();result.pop();int res = 0;if(token == "+")res = left+right;else if(token == "-")res = left-right;else if(token == "*")res = left*right;else if(token == "/")res = left/right;result.push(res);}else{stringstream ss;ss << token;int res;ss >> res;result.push(res);//result.push(atoi(token.c_str()));}}return result.top();}
};

更多推荐

LeetCode 的 C++ 实现(二) 逆波兰式(后缀表达式求解)

本文发布于:2024-02-12 15:59:31,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1688447.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:波兰   表达式   后缀   LeetCode

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!