leetcode:Evaluate Reverse Polish Notation
2014-06-13 16:37
309 查看
使用栈进行四则运算,对于每一个元素,如果是数字,直接入栈,如果是运算符,那么弹出栈顶的两个元素,然后进行
四则运行,之后将结果压入栈内,最后返回栈顶的元素
四则运行,之后将结果压入栈内,最后返回栈顶的元素
import java.util.*; public class Solution { public int evalRPN(String[] tokens) { int ans = 0; ArrayList<Integer> stack = new ArrayList<>(); for(int i = 0; i < tokens.length; ++i){ if((tokens[i].charAt(0) >= '0' && tokens[i].charAt(0) <= '9') || tokens[i].length() > 1){ stack.add(Integer.valueOf(tokens[i])); } else{ int site = stack.size(); int a1 = stack.get(site - 2); int a2 = stack.get(site - 1); stack.remove(site - 1); stack.remove(site - 2); switch(tokens[i]){ case "+": stack.add(a1 + a2); break; case "-": stack.add(a1 - a2); break; case "*": stack.add(a1 * a2); break; default: stack.add(a1 / a2);; } } } return stack.get(0); } }
相关文章推荐
- 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(150) Evaluate Reverse Polish Notation
- LeetCode Reverse Words in a String & 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 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 || Evaluate Reverse Polish Notation
- leetcode 150. Evaluate Reverse Polish Notation
- LeetCode -- Evaluate Reverse Polish Notation