中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

波蘭式表達式(后綴表達式)求值

發布時間:2020-05-26 21:59:27 來源:網絡 閱讀:475 作者:be_better_ 欄目:編程語言
#define _CRT_SECURE_NO_WARNINGS 1
using namespace std;
#include<stdlib.h>
#include<iostream>

#include<vector>
#include<stack>
#include<string>

//力扣

/*
題目要求:
根據逆波蘭表示法,求表達式的值。
有效的運算符包括 +, -, *, / 。每個運算對象可以是整數,
也可以是另一個逆波蘭表達式。
*/

/*
解題思路:
創建一個棧,若是數字則將這個數字壓棧,若是符號則將棧頂兩個元素取出分別作為左右操作數進行運算后入棧
*/
class Solution {
public:
    int evalRPN(vector<string>& tokens)//tokens是一個由string類構造的vector
    {
        stack <int> s;
        int left, right;
        int i = 0;
        for (i; i<tokens.size(); i++)
        {
            string &str = tokens[i];//為了使用方便給定義一個string類的變量str作為tokens中每個元素的引用
            if (!("+" == str || "-" == str || "*" == str || "/" == str))
            {
                s.push(atoi(str.c_str()));//將字符類型的變量轉化為整型
            }
            else
            {
                right = s.top();
                s.pop();
                left = s.top();
                s.pop();
                switch (str[0])
                {
                case '+':
                    s.push(left + right);
                    break;
                case '-':
                    s.push(left - right);
                    break;
                case '*':
                    s.push(left*right);
                    break;
                case '/':
                    s.push(left / right);
                    break;
                }
            }
        }
        return s.top();
    }
};

int main()
{
    system("pause");
    return 0;
}
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

丹东市| 赤城县| 崇义县| 汕头市| 纳雍县| 贵南县| 涞水县| 建德市| 东明县| 黑河市| 石楼县| 互助| 搜索| 浏阳市| 东明县| 宝鸡市| 象山县| 于田县| 新沂市| 张掖市| 吉林省| 麟游县| 新民市| 安仁县| 凤庆县| 承德县| 霸州市| 昌江| 深泽县| 黑河市| 芜湖县| 太湖县| 鄂伦春自治旗| 邵东县| 凤阳县| 通榆县| 柘荣县| 维西| 德保县| 宜兴市| 伊宁市|