基本計算器

2021-10-21 20:03:24 字數 964 閱讀 3743

給你乙個字串表示式 s,請你實現乙個基本計算器來計算並返回它的值。

整數除法僅保留整數部分。

示例 1:

輸入:s = "3+2*2"

輸出:7

示例 2:

輸入:s = " 3/2 "

輸出:1

示例 3:

輸入:s = " 3+5 / 2 "

輸出:5

1 <= s.length <= 3 * 105

s 由整數和算符 ('+', '-', '*', '/') 組成,中間由一些空格隔開

s 表示乙個 有效表示式

表示式中的所有整數都是非負整數,且在範圍 [0, 231 - 1] 內

題目資料保證答案是乙個 32-bit 整數

運用棧的思想,將要算的數值依次壓入棧中,再對棧中的元素求和即可。

使用deque stack 物件,定義sign 存放字串中的每個字元。

對字串中的每個字元進行檢索,當等於數字時,若前符號是+直接壓入棧頂,若為-,壓入當前數字的負數,若為*將棧頂彈出與當前數字相乘再壓入棧頂,負數同理。

class

solutionif(

!character.

isdigit

(s.charat

(i))

&&s.

charat

(i)!=

' '||i==n-1)

num =0;

sign = s.

charat

(i);}}

while

(!stack.

isempty()

)return ans;

}}

基本計算器

輸入表示式字串,以 表示結束,計算並輸出表示式值。運算元可以是正負整數或實數,操作符有 乘方 和 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,請你實現乙個基本計算器來計算並返回它的值。注意 不允許使用任何將字串作為數學表示式計算的內建函式,比如eval 1 s.length 3 105 s 由數字 和 組成 s 表示乙個有效的表示式 不能用作一元運算 例如,1 和 2 3 無效 可以用作一元運算 即 1 和 2...