Basic Calculator
来源:互联网 发布:react native和node.js 编辑:程序博客网 时间:2024/05/16 18:32
题目链接
So “(1+(4+5+2)-3)+(6+8)”
->
(1+(9+2)-3)+(6+8)
->
(1+11-3)+(6+8)
->
(12-3)+(6+8)
->
9+(6+8)
->
9+14
->
23
非常聪明的代码实现
class Solution {public: int calculate(string s) { int pos=0; return evaluate(s,pos); } int evaluate(string& s, int& i) { int res = 0; bool negFlag=false; while(i<s.size()&&s[i]!=')') { if(s[i]=='+'||s[i]==' ') i++; else if(s[i]=='-') { i++; negFlag=true; } else if(s[i]=='(') { i++; res+=negFlag?-evaluate(s,i):evaluate(s,i); negFlag=false; } else {// numeric chars int num=0; while(i<s.size()&&isdigit(s[i])) num = num*10 + s[i++]-'0'; res+=negFlag?-num:num; negFlag=false; } } i++; // skip the current ')' return res; }};
0 0
- Basic Calculator
- Basic Calculator
- Basic Calculator
- Basic Calculator
- Basic Calculator
- Basic Calculator
- Basic Calculator
- Basic Calculator
- Basic Calculator
- Basic Calculator
- Basic Calculator
- Basic Calculator
- Basic Calculator
- Basic Calculator
- Basic Calculator
- Basic Calculator
- Basic Calculator
- Basic Calculator
- 访问jsp页面报错:org.apache.jasper.JasperException: java.lang.NullPointerException
- [单源最短路]Bellman-Ford算法
- arcgis mxd转换成msd
- 测试工具
- web.xml配置
- Basic Calculator
- http header
- 八大排序算法
- 从rich edit里每行的读取,可读中文内容
- 连续正整数集合子集的java算法
- IOS 传感器 知识点 介绍
- 解决多点透视问题
- 集合类操作优化经验总结
- Snail—UI学习之工具栏UIToolBar