数据结构与算法之栈
来源:互联网 发布:联通网络整合营销包括 编辑:程序博客网 时间:2024/06/05 05:18
leetcode 的题目:
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
解题思路就是利用栈的先进后出的特性
import java.util.*;
public class Solution {
public int evalRPN(String[] tokens) {
if(tokens == null){
return -1;
}
Stack<Integer> stack=new Stack(); for(int i=0;i<tokens.length;i++){ try{ int num=Integer.parseInt(tokens[i]); stack.add(num); }catch(Exception e){ int a=stack.pop(); int b=stack.pop(); stack.push(getIt(a,b,tokens[i])); } } return stack.pop();}public static int getIt(int a,int b,String str){ switch(str){ case "+": return b+a; case "-": return b-a; case "/": return b/a; case "*": return b*a; default : return 0; }}
}
阅读全文
0 0
- 数据结构与算法之栈
- 数据结构与算法之----栈与队列
- 数据结构与算法之栈与队列
- 数据结构与算法之栈与队列
- 数据结构与算法之栈与队列
- 数据结构与算法之栈与队列
- C#数据结构与算法之栈浅析
- 算法与数据结构之五----顺序栈
- 数据结构与算法之表、队列、栈
- 数据结构与算法初学之栈
- Java数据结构与算法之栈
- javascript算法与数据结构之栈
- 数据结构与算法之七 栈
- Java数据结构与算法之stack栈
- 数据结构与算法之栈和队列
- 数据结构与算法分析之栈
- 数据结构与算法之栈和队列
- 数据结构与算法学习笔记之--数据结构
- 排序算法---直接插入排序
- 构造排序二叉树,并按行从左到右输出
- MATLAB绘图
- 1
- linux部署web项目到tomcat下(图文详解)
- 数据结构与算法之栈
- SiteSucker使用记录
- 配置wamp
- NodeMCU刷uart模块掉坑~~~
- ForeSpider数据采集系统如何采集源码中看不到的数据
- LNMP一键安装包下wordpress更新问题
- Java public protected default private 访问权限区别
- 单例模式的四种实现及其优缺点
- Glide 4.0源码分析(2)