美文网首页
逆波兰式 (2018-10-31)

逆波兰式 (2018-10-31)

作者: lessjianshu | 来源:发表于2018-10-31 10:43 被阅读0次

原文(https://blog.csdn.net/zhangla1220/article/details/39060421)

题目:

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

代码:

def caculate(oper, x, y):
    if oper== '+' :
            return x+y
    if oper== '-' :
            return x-y
    if oper== '*' :
            return x*y
    if oper== '/' :
            return x/y
   
def evalRPN(tokens):
    if (len(tokens) == 0):
        return 0;
    tokens_s = []
    result = 0
    i = 0;
    x = 0
    y = 0
    for i in range(0,len(tokens)):
        element = tokens[i] 
        if ((element== "+") or (element== "-") or (element== "*") or (element== "/")):
            y = tokens_s.pop()
            x = tokens_s.pop()
            tokens_s.append(int(caculate(element,int(x),int(y))))
        else:
            tokens_s.append(int(element))
    return (int)(tokens_s.pop())
tokens =  []#test
print(evalRPN(tokens))
tokens =  ["2", "1", "+", "3", "*"]#test
print(evalRPN(tokens))

相关文章

  • 编译原理系列之九 中间代码生成

    中间代码生成 中间代码也与机器无关。 常见中间表示形式:逆波兰式:逆波兰式中缀表达式转逆波兰式:按照算术表达式的计...

  • 逆波兰式 (2018-10-31)

    原文(https://blog.csdn.net/zhangla1220/article/details/3906...

  • 波兰式&逆波兰式

    波兰式 又称为先序表达式,前缀表达式 逆波兰式 又称为后序表达式,后缀表达式

  • 逆波兰式

    逆波兰式,是编程计算四则运算结果的算法。例子:平时写法a+b(中缀表达式),逆波兰式ab+。把中缀表达式编程后缀表...

  • 逆波兰式

    实现目的:假设表达式由数字和双目四则运算符+,-,,/构成。试利用栈实现一个算法,将一个通常书写形式且书写正确的表...

  • 比特币脚本指南(三)

    脚本的工作原理 脚本是一种类Forth、基于栈操作、逆波兰式、图灵不完整语言。 先看看基于堆栈操作、逆波兰式系统什...

  • 递归-逆波兰表达式

    逆波兰表达式定义 (1)一个数是一个逆波兰表达式,值为该数(2)"运算符 逆波兰表达式 逆波兰表达式 "是逆波兰表...

  • 【算法】逆波兰式求值

    逆波兰式求值 概念: 前缀表达式(波兰式):二元运算符总是置于与之相关的两个运算对象之前,所以,这种表示法也称为前...

  • 栈--逆波兰式求值

    根据逆波兰表示法,求表达式的值。有效的运算符包括 +, -, ✖️, ÷ 。每个运算对象可以是整数,也可以是另一个...

  • 《每周一道算法题》(一)逆波兰表达式求值

    一 逆波兰表达式求值 150. 逆波兰表达式求值 说明: 整数除法只保留整数部分。 给定逆波兰表达式总是有效的。换...

网友评论

      本文标题:逆波兰式 (2018-10-31)

      本文链接:https://www.haomeiwen.com/subject/dlwotqtx.html