LeetCode_682-Baseball Game
Posted yew0
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode_682-Baseball Game相关的知识,希望对你有一定的参考价值。
给定一个字符串列表,字符串包含整数,’+’,’D’,’C’,整数代表一个分数,’+’代表后两个有效分数的和,’D’代表后一个有效分数的两倍,’C’代表删除后一个有效的分数值,最后求所有有效分数的和。
例子:
输入[“5”,”2”,”C”,”D”,”+”],输出30。2为无效的数,’D’是5*2,’+’是5*2+5,5+0+10+(10+5)= 30
class Solution { public: int calPoints(vector<string>& ops) { stack<int> stackRes; for(int i=0; i<ops.size(); i++) { if(ops[i][0] == ‘C‘) { if(!stackRes.empty()) { stackRes.pop(); } } else if(ops[i][0] == ‘D‘) { if(!stackRes.empty()) { int nNum = stackRes.top(); nNum *= 2; stackRes.push(nNum); } } else if(ops[i][0] == ‘+‘) { if(!stackRes.empty()) { int nNum = stackRes.top(); stackRes.pop(); int nSum = nNum + stackRes.top(); stackRes.push(nNum); stackRes.push(nSum); } } else { stackRes.push(atoi(ops[i].c_str())); } } int nResRum = 0; while(!stackRes.empty()) { nResRum += stackRes.top(); stackRes.pop(); } return nResRum; } };
可关注公众号了解更多的面试技巧
以上是关于LeetCode_682-Baseball Game的主要内容,如果未能解决你的问题,请参考以下文章
[LeetCode&Python] Problem 682. Baseball Game