實現乙個基本的計算器來計算乙個簡單的字串表示式的值。
字串表示式僅包含非負整數,+, - ,*,/ 四種運算子和空格 。 整數除法僅保留整數部分。
示例 1:
輸入: "3+2*2"
輸出: 7
示例 2:
輸入: " 3/2 "
輸出: 1
示例 3:
輸入: " 3+5 / 2 "
輸出: 5
說明:你可以假設所給定的表示式都是有效的。
請不要使用內建的庫函式 eval。
分析:逐個字元分析,是數字就計算數字,然**棧儲存,是運算符號就優先計算乘法和除法後進棧,減法當做加法的負運算進棧,加法就直接把數字進棧,最後遍歷棧元素執行加法。
class solution
public:
int calculate(string s)
if(is_sign(ch) || i==s.size()-1)
if(op == '/')
op = ch;
num = 0;}}
// 出棧計算結果
int result = 0;
while(!st.empty())
return result;
}};
基本計算器
輸入表示式字串,以 表示結束,計算並輸出表示式值。運算元可以是正負整數或實數,操作符有 乘方 和 sin 正弦 cos 余弦 log 對數 ln 自然對數 等函式。inttransfer charc void push in stack char op s,vector string res,cha...
基本計算器
實現乙個基本的計算器來計算乙個簡單的字串表示式的值。字串表示式可以包含左括號 右括號 加號 減號 非負整數和空格 示例 1 示例2 示例 3 我的媽呀這個題提交了n次終於通過了。沒有想到特殊情況比如輸入是這種 33 或者 33 或者1 33 設定兩個棧,乙個資料棧儲存資料,乙個符號棧儲存符號。當符號...
基本計算器
給你乙個字串表示式 s,請你實現乙個基本計算器來計算並返回它的值。整數除法僅保留整數部分。示例 1 輸入 s 3 2 2 輸出 7示例 2 輸入 s 3 2 輸出 1示例 3 輸入 s 3 5 2 輸出 51 s.length 3 105 s 由整數和算符 組成,中間由一些空格隔開 s 表示乙個 有...