leetcode150. 逆波兰表达式求值
生活随笔
收集整理的這篇文章主要介紹了
leetcode150. 逆波兰表达式求值
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一:題目
二:上碼
class Solution { public:int evalRPN(vector<string>& tokens) {/**思路:1.分析題意:我們是每次將相鄰的兩個數和與其最近的符號進行運算,將運算結果再放入棧中2.最終棧中就會剩下一個結果答案3.將string 類型轉換成 int 類型 stoi(string)**/stack<int> st;for(int i = 0; i < tokens.size(); i++) {if(tokens[i] =="+") {int nums1 = st.top();st.pop();int nums2 = st.top();st.pop();int number = nums1 + nums2;st.push(number);} else if(tokens[i] == "-") {int nums1 = st.top();st.pop();int nums2 = st.top();st.pop();int number = nums2 - nums1;st.push(number);} else if (tokens[i] == "*") {int nums1 = st.top();st.pop();int nums2 = st.top();st.pop();int number = nums1 * nums2;st.push(number);} else if (tokens[i] == "/") {int nums1 = st.top();st.pop();int nums2 = st.top();st.pop();int number = nums2 / nums1;//前面的數除后面的數st.push(number);} else {st.push(stoi(tokens[i]));}}return st.top();} };
加油 如有疑問請留言!!!!!!!!!!!!
總結
以上是生活随笔為你收集整理的leetcode150. 逆波兰表达式求值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 吃鸡怎么注销微信账号
- 下一篇: leetcode239. 滑动窗口最大值