stack应用之逆波兰
来源:互联网 发布:数据库的三藩市 编辑:程序博客网 时间:2024/04/29 11:46
stack
import sysclass Stack: def __init__(self): self.items=[] def push(self,item): try: self.items.append(item) except: print sys.exc_info() def pop(self): try: self.items.pop() except: print sys.exc_info() def clear(self): try: del self.items[:] except: print sys.exc_info() def empty(self): return len(self.items)==0 def size(self): return len(self.items) def top(self): try: return self.items[self.size()-1] except: print sys.exc_info()
逆波兰
import stackdef evalRPN(tokens): operators="+-*/" stacktemp=stack.Stack() for item in tokens: #print item,"======================" #print stacktemp.items if operators.find(item)==-1: stacktemp.push(item) else: leftn=int(stacktemp.top()) stacktemp.pop() rightn=int(stacktemp.top()) stacktemp.pop() if item=='+': stacktemp.push(str(leftn+rightn)) elif item=='-': stacktemp.push(str(rightn-leftn)) elif item=='*': stacktemp.push(str(leftn*rightn)) elif item=='/': stacktemp.push(str(rightn/leftn)) returnValue=int(stacktemp.top()) stacktemp.pop() return returnValueif __name__=="__main__": tokens= ["2", "1", "+", "3", "*"] print evalRPN(tokens)
0 0
- stack应用之逆波兰
- c++之逆波兰表达式-stack的运用
- Stack类的使用:逆波兰表达式
- 栈的应用之简易逆波兰计算器
- 数据结构之栈的应用(3)逆波兰式
- 栈应用之逆波兰表达式与表达式求值
- 逆波兰表示的应用
- 栈的应用 - 波兰式与逆波兰式
- 计算器之逆波兰算法
- leetcode之逆波兰求值
- 【递归】 之 逆波兰表达式
- 数据结构之逆波兰表达式
- lintcode之逆波兰表达式
- 栈之逆波兰计算器
- 数据结构 栈的应用 逆波兰表达式
- 栈的应用 — 逆波兰记法
- 栈的应用:逆波兰表达式
- 栈的应用 逆波兰式
- RAC环境数据文件误建到本地文件系统处理
- 认识Javascript中的Document对象
- 价格屠夫乐视杀入4K电视市场
- input子系统
- QPython起步
- stack应用之逆波兰
- [Java]深入理解Java内存模型(四)——volatile
- 墨西哥浅海现活体白龙王 身长4・5米
- 移动开发简介
- Eclipse自动部署项目到Tomcat的webapps下的有效方法
- qaction的信号槽
- 我和哥哥
- Ecplise中项目出现红色感叹号
- Unity 用户手册用户指南导航网格 (Navmesh) 和寻路 (Pathfinding)