
【java】224. 基本计算器---了解简单计算器!!!
发布日期:2021-05-07 02:21:59
浏览次数:26
分类:精选文章
本文共 1169 字,大约阅读时间需要 3 分钟。
实现一个基本的计算器来计算一个简单的字符串表达式 s 的值。
示例 1:
输入:s = “1 + 1”
输出:2 示例 2:输入:s = " 2-1 + 2 "
输出:3 示例 3:输入:s = “(1+(4+5+2)-3)+(6+8)”
输出:23提示:
1 <= s.length <= 3 * 105
s 由数字、’+’、’-’、’(’、’)’、和 ’ ’ 组成 s 表示一个有效的表达式代码:public int calculate(String s) { //栈中存入两个元素,栈底放已经算出的结果,栈顶放与下个元素运算的符号,用1,-1表示 Stackstack = new Stack (); // sign 代表正负 int sign = 1, res = 0; int length = s.length(); for (int i = 0; i < length; i++) { char ch = s.charAt(i); if (Character.isDigit(ch)) { int cur = ch - '0'; while (i + 1 < length && Character.isDigit(s.charAt(i + 1))) cur = cur * 10 + s.charAt(++i) - '0'; res = res + sign * cur; } else if (ch == '+') { sign = 1; } else if (ch == '-') { sign = -1; } else if (ch == '(') { stack.push(res); res = 0; stack.push(sign); sign = 1; } else if (ch == ')') { res = stack.pop() * res + stack.pop(); } } return res; }
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2025年04月02日 14时31分32秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
《我是猫》总结
2021-05-09
《抗糖化书》总结
2021-05-09
apache虚拟主机配置
2021-05-09
光盘作为yum源
2021-05-09
PHP 正则表达式资料
2021-05-09
PHP官方网站及PHP手册
2021-05-09
mcrypt加密以及解密过程
2021-05-09
mysql连续聚合
2021-05-09
go等待N个线程完成操作总结
2021-05-09
消息队列 RocketMQ 并发量十万级
2021-05-09
ReactJs入门教程-精华版
2021-05-09
乐观锁悲观锁应用
2021-05-09
简单说说TCP三次握手、四次挥手机制
2021-05-09
.net Core 使用IHttpClientFactory请求
2021-05-09
多线程之旅(准备阶段)
2021-05-09
Python 之网络式编程
2021-05-09
MySql5.5安装步骤及MySql_Front视图配置
2021-05-09
springmvc Controller详解
2021-05-09