摘要:中的運算符,運算之后要出來,繼續遍歷數組。是放入新的數字,用轉換為均可。
Problem
Evaluate the value of an arithmetic expression in Reverse Polish Notation.
Valid operators are +, -, *, /. Each operand may be an integer or another expression.
Example["2", "1", "+", "3", "*"] -> ((2 + 1) * 3) -> 9 ["4", "13", "5", "/", "+"] -> (4 + (13 / 5)) -> 6Note
Switch中的運算符case,運算之后要break出來,繼續遍歷tokens數組。
default是放入新的數字,用parseInt()/valueOf()轉換String為Integer均可。
public class Solution { public int evalRPN(String[] tokens) { if (tokens == null || tokens.length % 2 == 0) return 0; Stackstack = new Stack (); for (String tok: tokens) { switch(tok) { case "+": stack.push(stack.pop() + stack.pop()); break; case "-": stack.push(-stack.pop() + stack.pop()); break; case "*": stack.push(stack.pop() * stack.pop()); break; case "/": int divisor = stack.pop(); int dividend = stack.pop(); stack.push(dividend/divisor); break; default: stack.push(Integer.valueOf(tok)); } } return stack.pop(); } }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/65499.html
摘要:棧法復雜度時間空間思路逆波蘭表達式的計算十分方便,對于運算符,其運算的兩個數就是這個運算符前面的兩個數。注意對于減法,先彈出的是減號后面的數。 Evaluate Reverse Polish Notation Evaluate the value of an arithmetic expression in Reverse Polish Notation. Valid operato...
Problem Evaluate the value of an arithmetic expression in Reverse Polish Notation. Valid operators are +, -, *, /. Each operand may be an integer or another expression. Note: Division between two inte...
摘要:題目鏈接來做,保存數字,碰到符號的時候就彈出兩個數字計算算完后再放入,最后里面的就是結果。 150. Evaluate Reverse Polish Notation 題目鏈接:https://leetcode.com/problems... stack來做,保存數字,碰到符號的時候就彈出兩個數字計算算完后再放入stack,最后stack里面的就是結果。 public class So...
摘要:我們一般看到的數學表達式就是中綴表達式,也就是將符號放在兩個數字之間。后綴表達式也就是將運算符放在相應數字的后面。后綴表達式相當于樹中的后序遍歷。通過獲得對應位置的操作符。如果對應的還是操作符,則繼續遞歸往前計算。 題目要求 Evaluate the value of an arithmetic expression in Reverse Polish Notation. Valid...
閱讀 1580·2021-09-26 09:46
閱讀 2665·2021-09-07 09:59
閱讀 2750·2021-09-07 09:59
閱讀 1856·2019-08-30 14:20
閱讀 922·2019-08-26 13:39
閱讀 3174·2019-08-26 12:24
閱讀 771·2019-08-26 11:55
閱讀 1212·2019-08-23 16:49