227. Basic Calculator II LeetCode
来源:互联网 发布:格式化数据恢复 编辑:程序博客网 时间:2024/05/20 21:44
题意:模拟一个计算器的+-*/,数字只会出现正整数。
题解:用栈模拟即可,代码恶心了点。
class Solution {public: int calculate(string s) { stack<int> sta; char op = '+'; int ans = 0,tmp = 0; for(int i = 0; i < s.length(); i++) { if(isdigit(s[i])) tmp = tmp * 10 + s[i] - '0'; if (!isdigit(s[i]) && !isspace(s[i]) || i == s.size()-1) { if(op == '+') sta.push(tmp); else if(op == '-') sta.push(-tmp); else if(op == '*') { int num = sta.top() * tmp; sta.pop(); sta.push(num); } else { int num = sta.top() / tmp; sta.pop(); sta.push(num); } tmp = 0; op = s[i]; } } while(!sta.empty()) { ans += sta.top(); sta.pop(); } return ans; }};
0 0
- [leetcode] 227.Basic Calculator II
- [leetcode] 227. Basic Calculator II
- Leetcode-227.Basic Calculator II
- Leetcode 227. Basic Calculator II
- 227. Basic Calculator II LeetCode
- leetcode 227. Basic Calculator II
- LeetCode *** 227. Basic Calculator II
- LeetCode 227. Basic Calculator II
- leetcode.227. Basic Calculator II
- LeetCode-227.Basic Calculator II
- leetcode 227. Basic Calculator II
- 【Leetcode】227. Basic Calculator II
- [LeetCode]227. Basic Calculator II
- Leetcode 227. Basic Calculator II
- leetcode:227. Basic Calculator II
- LeetCode 227. Basic Calculator II
- [leetcode]227. Basic Calculator II
- [LeetCode]227. Basic Calculator II
- 逻辑地址、线性地址、物理地址和虚拟地址
- python的os模块fork、wait、system、exec、popen、exit函数讲解
- 【bzoj 2821】 作诗 题意&题解&代码(C++)
- hibernate查询方式
- IOS学习博客地址
- 227. Basic Calculator II LeetCode
- 安装APK运行Genymation时报错:Installation failed with message INSTALL_FAILED_CPU_ABI_INCOMPATIBLE.
- banner图片自适应
- MySQL数据库引擎介绍、区别、创建和性能测试的深入分析
- 冒泡排序C++
- String类型的 == 和 equals() 判断,及运算符优先级的问题
- C#委托与C++函数指针辨析
- 常见Js跨浏览器复制代码
- 《GLSL渲染语言入门与VBO、VAO使用:绘制一个三角形》的正确版本及源代码