zoukankan      html  css  js  c++  java
  • Leetcode练习(Python):字符串类:第227题:基本计算器 II:实现一个基本的计算器来计算一个简单的字符串表达式的值。 字符串表达式仅包含非负整数,+,

    题目:
    基本计算器 II:实现一个基本的计算器来计算一个简单的字符串表达式的值。  字符串表达式仅包含非负整数,+, - ,*,/ 四种运算符和空格  。 整数除法仅保留整数部分。

    说明:

    • 你可以假设所给定的表达式都是有效的。
    • 请不要使用内置的库函数 eval
    思路:
    使用栈来实现,之前在做课设时候做过,因为不考虑括号和小数点的问题,比较简单。
    程序:
    class Solution:
        def calculate(self, s: str) -> int:
            if not s:
                return 0
            length = len(s)
            if length == 1:
                return int(s)
            myStack = []
            data = 0
            sign = '+'
            for index in range(len(s)):
                if s[index].isdigit():
                    data = data * 10 + int(s[index])
                if s[index] in '+-*/' or index == length - 1:
                    if sign == '+':
                        myStack.append(data)
                    elif sign == '-':
                        myStack.append(-data)
                    elif sign == '*':
                        myStack.append(myStack.pop() * data)
                    else:
                        data_before = myStack.pop()
                        if data_before > 0:
                            myStack.append(data_before//data)
                        elif data_before < 0:
                            myStack.append(-(abs(data_before)//data))
                        else:
                            myStack.append(0)
                    sign = s[index]
                    data = 0
        return sum(myStack)
  • 相关阅读:
    Android 获取当前系统时间
    Android下面的MD5加密
    产品管理有行业特殊性吗
    产品经理的人才模型
    什么样的人适合做产品经理
    产品经理是“通”才还是“专”才
    产品经理的职责都有哪些
    产品经理的知识结构是什么
    产品管理职位的级别都有哪些
    产品经理的职业发展路线是什么
  • 原文地址:https://www.cnblogs.com/zhuozige/p/12851403.html
Copyright © 2011-2022 走看看