leetcode 150. Evaluate Reverse Polish Notation java 算法
来源:互联网 发布:sql server在哪下载 编辑:程序博客网 时间:2024/05/01 20:11
题目描述:
思路:将数字元素依次压入栈中,当遇到运算符时,出栈栈顶的两个元素做运算把结果压入到栈中,重复此过程,最后栈顶的那个元素即为结果。
代码如下:
public int evalRPN(String[] tokens) {
Stack<String> stack = new Stack<String>();
List<String> ls = new ArrayList<String>();
ls.add("+");ls.add("-");ls.add("*");ls.add("/");
int i = 0;
int result = 0;
while(i<tokens.length){
if(ls.contains(tokens[i])){
if(stack.isEmpty()){
return -1;
}
int val1 = Integer.parseInt(stack.pop());
if(stack.isEmpty()){
return -1;
}
int val2 = Integer.parseInt(stack.pop());
int newValue = 0;
if(tokens[i].equals("+")){
newValue = val1+val2;
}
else if(tokens[i].equals("-")){
newValue = val2-val1;
}
else if(tokens[i].equals("*")){
newValue = val1*val2;
}
else{
newValue = val2/val1;
}
stack.push(Integer.toString(newValue));
}
else{
stack.push(tokens[i]);
}
i++;
}
return Integer.parseInt(stack.pop());
}
- leetcode 150. Evaluate Reverse Polish Notation java 算法
- LeetCode算法题目:Evaluate Reverse Polish Notation
- [Leetcode] Evaluate Reverse Polish Notation (Java)
- Leetcode-Evaluate Reverse Polish Notation-java
- LeetCode:Evaluate Reverse Polish Notation (Java)
- Leetcode: Evaluate Reverse Polish Notation (Java)
- Evaluate Reverse Polish Notation leetcode java
- LeetCode 150. Evaluate Reverse Polish Notation
- [leetcode] 150.Evaluate Reverse Polish Notation
- 【leetcode】150. Evaluate Reverse Polish Notation
- Leetcode 150. Evaluate Reverse Polish Notation
- [LeetCode]150. Evaluate Reverse Polish Notation
- 150. Evaluate Reverse Polish Notation LeetCode
- Leetcode 150. Evaluate Reverse Polish Notation
- leetcode 150. Evaluate Reverse Polish Notation
- LeetCode 150. Evaluate Reverse Polish Notation
- LeetCode *** 150. Evaluate Reverse Polish Notation
- leetcode-150. Evaluate Reverse Polish Notation
- ubuntu下ssh远程登录
- HDU 5729 Rigid Frameworks(组合计数,递推)
- 杭电ACM中一部分关于string的题目
- Android锁屏状态下弹出activity,如新版qq的锁屏消息提示
- Git入门(5)-工作区和暂存区
- leetcode 150. Evaluate Reverse Polish Notation java 算法
- Codeforces Round #274 (Div. 1) C. Riding in a Lift
- Android 自定义View实现ViewPager指示器
- Android与PC蓝牙交互
- 关于scipy安装运行问题
- ny 5 Binary String Matching
- Android Lollipop
- linux daemon(2)
- Ubuntu14.04卸载内核