(leetcode)Evaluate Reverse Polish Notation
2014-08-18 15:28
573 查看
Evaluate Reverse Polish Notation
题目描述:
Evaluate the value of an arithmetic expression in Reverse Polish Notation.
Valid operators are +, -, *, /. Each operand may be an integer or another expression.
Some examples: ["2", "1", "+", "3", "*"] -> ((2 + 1) * 3) -> 9 ["4", "13", "5", "/", "+"] -> (4 + (13 / 5)) -> 6
题目分析:给定一个逆波兰表达式,求该表达式的值。
public int evalRPN(String[] tokens){}
传递参数为字符串数组,只需申请一个栈,并遍历数组,若数组是数字,就将数字压入栈,若是运算符,则弹出栈中的两个数字进行相应运算,并将计算结果压入栈中,直到遍历结束。最后返回栈顶元素即可。
题目描述:
Evaluate the value of an arithmetic expression in Reverse Polish Notation.
Valid operators are +, -, *, /. Each operand may be an integer or another expression.
Some examples: ["2", "1", "+", "3", "*"] -> ((2 + 1) * 3) -> 9 ["4", "13", "5", "/", "+"] -> (4 + (13 / 5)) -> 6
题目分析:给定一个逆波兰表达式,求该表达式的值。
public int evalRPN(String[] tokens){}
传递参数为字符串数组,只需申请一个栈,并遍历数组,若数组是数字,就将数字压入栈,若是运算符,则弹出栈中的两个数字进行相应运算,并将计算结果压入栈中,直到遍历结束。最后返回栈顶元素即可。
public class Solution { public int evalRPN(String[] tokens) { Stack<Integer> stack=new Stack<Integer>(); for(int i=0;i<tokens.length;i++){ if(tokens[i].equals("+")){ int second=stack.pop(); int first=stack.pop(); int re=first+second; stack.push(re); } else if(tokens[i].equals("-")){ int second=stack.pop(); int first=stack.pop(); int re=first-second; stack.push(re); } else if(tokens[i].equals("*")){ int second=stack.pop(); int first=stack.pop(); int re=first*second; stack.push(re); } else if(tokens[i].equals("/")){ int second=stack.pop(); int first=stack.pop(); int re=first/second; stack.push(re); } else{ stack.push(Integer.parseInt(tokens[i])); } } return stack.pop(); } }
相关文章推荐
- leetcode Evaluate Reverse Polish Notation
- LeetCode 150. Evaluate Reverse Polish Notation
- LeetCode Evaluate Reverse Polish Notation
- LeetCode150 Evaluate Reverse Polish Notation
- LeetCode150:Evaluate Reverse Polish Notation
- Leetcode: Evaluate Reverse Polish Notation
- leetcode_Evaluate Reverse Polish Notation
- Leetcode 150. Evaluate Reverse Polish Notation
- Leetcode Evaluate Reverse Polish Notation
- [Leetcode] Evaluate Reverse Polish Notation
- LeetCode Evaluate Reverse Polish Notation
- Leetcode Evaluate Reverse Polish Notation
- leetcode 日经贴,Cpp code -Evaluate Reverse Polish Notation
- leetcode Evaluate Reverse Polish Notation(计算逆波兰表达式)
- Leetcode: Evaluate Reverse Polish Notation
- [LeetCode]Evaluate Reverse Polish Notation
- leetcode_Evaluate Reverse Polish Notation
- LeetCode:150. Evaluate Reverse Polish Notation(逆波兰表达式)
- LeetCode-Evaluate Reverse Polish Notation
- LeetCode - Evaluate Reverse Polish Notation