224 简单计算器(2021-03-10) - Fail

这篇博客讨论了如何实现一个基本的计算器来解析简单的字符串表达式。通过使用栈来存储符号,并结合括号处理,可以计算出输入字符串的正确结果。博主分享了在遇到加减运算符和括号时如何调整栈内的符号,并解释了如何根据当前数字和栈顶符号进行计算。尽管博主在当时无法独立解决这个问题,但通过学习和理解题解,理解了这种基于栈的解决方案。
摘要由CSDN通过智能技术生成

224. 基本计算器

来源:力扣(LeetCode)

链接:https://leetcode-cn.com/problems/basic-calculator/

实现一个基本的计算器来计算一个简单的字符串表达式 s 的值。(s 由数字、’+’、’-’、’(’、’)’、和 ’ ’ 组成)

示例:

输入:s = "1 + 1"
输出:2

输入:s = " 2-1 + 2 "
输出:3

输入:s = "(1+(4+5+2)-3)+(6+8)"
输出:23

答案

这道题我没有尝试,因为没什么思路,看了题解,需要用一个栈,这个栈存储的不是计算结果,而是每个数字前面对应的符号,这个符号是由当前位置前面的计算符以及括号共同组成的

当扫描到非数字时,如果遇到+-,那么需要去换算出对应的符号,遇到(时将符号压入栈中,遇到)时将元素从栈中弹出,遇到数字时,根据符号计算结果

这道题我现在(2021.03.10)是做不出来的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值