成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

[LeetCode] 227. Basic Calculator II

silvertheo / 2150人閱讀

Problem

Implement a basic calculator to evaluate a simple expression string.

The expression string contains only non-negative integers, +, -, *, / operators and empty spaces . The integer division should truncate toward zero.

Example 1:

Input: "3+2*2"
Output: 7

Example 2:

Input: " 3/2 "
Output: 1

Example 3:

Input: " 3+5 / 2 "
Output: 5

Note:

You may assume that the given expression is always valid.
Do not use the eval built-in library function.

Solution
class Solution {
    public int calculate(String s) {
        s = s.trim().replaceAll(" ", "");
        if (s == null || s.length() == 0) return 0;
        long pre = 0;
        int res = 0, i = 0;
        char sign = "+";
        
        while (i < s.length()) {
            long cur = 0;
            while (i < s.length() && Character.isDigit(s.charAt(i))) {
                cur = cur*10 + (s.charAt(i)-"0");
                i++;
            }
            switch (sign) {
                case "+":
                    res += pre;
                    pre = cur; break;
                case "-":
                    res += pre;
                    pre = -cur; break;
                case "*":
                    pre *= cur; break;
                case "/":
                    pre /= cur; break;
            }
            if (i < s.length()) {
                sign = s.charAt(i);
                i++;
            }
        }
        
        res += pre;
        return res;
    }
}

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/77154.html

相關(guān)文章

  • Leetcode[227] Basic Calculator II

    摘要:復(fù)雜度思路用兩個來分別記錄當(dāng)前的結(jié)果和操作符注意每一次統(tǒng)計當(dāng)前的的時候,要看一下下一位的操作符。有一種的方法,是表示的是匹配任意的空白符,包括空格,制表符,換行符,中文全角空格等。也可以用更簡單的方法,。 LeetCode[227] Basic Calculator II Implement a basic calculator to evaluate a simple expres...

    chaos_G 評論0 收藏0
  • 224. Basic Calculator & 227. Basic Calculator

    摘要:題目鏈接,就是感覺條件有點(diǎn)多簡單點(diǎn)的寫法,把直接用存在里面,就存成,存成題目鏈接這題就是碰到在加減后面怎么處理的問題。用一個來表示之前的,所以碰到現(xiàn)在是乘的時候就,除類似。 224. Basic Calculator 題目鏈接:https://leetcode.com/problems... stack,就是感覺條件有點(diǎn)多 public class Solution { pub...

    _DangJin 評論0 收藏0
  • 227. Basic Calculator II

    摘要:但是乘除就會有問題,要特殊處理。這題只有加減和括號,優(yōu)先級就是括號里的先計算,所有我們把括號里的內(nèi)容當(dāng)做操作的基本單位。遇到遇到和,遇到遇到,彈出再遇到彈出,這里只是把對數(shù)字的操作變成了對的操作,去括號的邏輯一樣。 The expression string contains only non-negative integers, +, -, *, / operators and em...

    littlelightss 評論0 收藏0
  • [Leetcode] Basic Calculator 基本計算器

    摘要:難點(diǎn)在于多了括號后如何處理正負(fù)號。但是每多一個括號,都要記錄下這個括號所屬的正負(fù)號,而每當(dāng)一個括號結(jié)束,我們還要知道出來以后所在的括號所屬的正負(fù)號。 Basic Calculator I 最新更新請見: https://yanjia.li/zh/2019/01/... Implement a basic calculator to evaluate a simple express...

    ky0ncheng 評論0 收藏0
  • Leetcode[224] Basic Calculator

    摘要:復(fù)雜度思路將字符串先轉(zhuǎn)換成后綴表達(dá)式,再將其出來。 Leetcode[224] Basic Calculator Implement a basic calculator to evaluate a simple expression string. The expression string may contain open ( and closing parentheses ),...

    William_Sang 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<