實現乙個基本的計算器來計算乙個簡單的字串表示式的值。
字串表示式僅包含非負整數,+
,-
,*
,/
四種運算子和空格。 整數除法僅保留整數部分。
示例 1:
輸入:"3+2*2"輸出:7示例 2:
輸入:" 3/2 "輸出:1示例 3:
輸入:" 3+5 / 2 "輸出:5說明:
思路:我們用乙個棧來儲存數字,同時記錄數字之前出現的符號,該符號初始化為+(由於字串表示式僅包含非負整數)。
1、當數字前面是+的時候,把數字壓入棧中。
2、當數字前面是-的時候,把數字的相反數壓入棧中。
3、當數字前面是*
,/
的時候,把棧頂元素丟擲,與當前數字做乘法或者除法,再將結果壓入棧中。
class solution
if(!isdigit(s[i]) && !isspace(s[i])|| i==s.size()-1)
num=0;
op=s[i];}}
while(!st.empty())
return re;
}};
227 基本計算器 II
實現乙個基本的計算器來計算乙個簡單的字串表示式的值。字串表示式僅包含非負整數,四種運算子和空格 整數除法僅保留整數部分。示例 1 輸入 3 2 2 輸出 7 示例 2 輸入 3 2 輸出 1 示例 3 輸入 3 5 2 輸出 5 說明 你可以假設所給定的表示式都是有效的。請不要使用內建的庫函式 ev...
227 基本計算器 II
給你乙個字串表示式 s 請你實現乙個基本計算器來計算並返回它的值。整數除法僅保留整數部分。示例 1 輸入 s 3 2 2 輸出 7 示例 2 輸入 s 3 2 輸出 1 示例 3 輸入 s 3 5 2 輸出 5 昨天的題有括號懶得寫字尾表示式,今天沒有括號啦,那就用把中綴轉成字尾算好了 首先建立乙個...
227 基本計算器 II
給你乙個字串表示式 s 請你實現乙個基本計算器來計算並返回它的值。整數除法僅保留整數部分。輸入 s 3 2 2 輸出 7輸入 s 3 2 輸出 1輸入 s 3 5 2 輸出 5棧,字串 利用正規表示式,首先對字串s利用正規表示式根據 乘,分開,然後 將字串s中的 乘,按順序取出,存放到另外乙個陣列,...