實現乙個基本的計算器來計算乙個簡單的字串表示式的值。
字串表示式僅包含非負整數,+, - ,*,/ 四種運算子和空格 。 整數除法僅保留整數部分。
示例 1:
輸入: "3+2*2"
輸出: 7
示例 2:
輸入: " 3/2 "
輸出: 1
示例 3:
輸入: " 3+5 / 2 "
輸出: 5
說明:
你可以假設所給定的表示式都是有效的。
請不要使用內建的庫函式 eval。
其實這道題還沒有上一道題複雜 leetcode 基本計算器
這道題把括號去掉了,然後新增乘法、除法運算。思路一樣的,不過邏輯嚴密性還是需要的。進行運算是需要考慮到優先順序的問題。
class solution
} int calculate(string s)
else if (s[index] == '+' || s[index] == '-')
//然後再放置運算子到操作符棧
operatorstack.push(s[index++]);
}else if (s[index] == '*' || s[index] == '/')
//然後再放置運算子到操作符棧
operatorstack.push(s[index++]);
}else
datastack.push(numread);//直接放入資料棧
leetcode 基本計算器II
按照兩個棧的思路去匯入數字和數學操作,然後根據先乘除後加減的法則,找到第乙個運算元和第二運算元即可。具體 如下 class solution def calculate self,s str int string for char in s if char string char nums oper...
基本計算器 II
給你乙個字串表示式 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 表示乙...
leetcode 227 基本計算器II
實現乙個基本的計算器來計算乙個簡單的字串表示式的值。字串表示式僅包含非負整數,四種運算子和空格 整數除法僅保留整數部分。示例 1 輸入 3 2 2 輸出 7示例 2 輸入 3 2 輸出 1示例 3 輸入 3 5 2 輸出 5說明 1 你可以假設所給定的表示式都是有效的。2 請不要使用內建的庫函式 e...