欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > c/c++ >内容正文

c/c++

Leetcode 682. 棒球比赛 解题思路及C++实现

发布时间:2025/4/16 c/c++ 30 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Leetcode 682. 棒球比赛 解题思路及C++实现 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

解题思路:

这道题比较简单,就是直接用一个stack,依次处理输入容器中的每一个字符串,要注意的是:将string转为int,C++中函数为stoi();

 

class Solution { public:int calPoints(vector<string>& ops) {int res = 0; //一定要初始化为0stack<int> s;for(auto x: ops){if(x == "C" && !s.empty()) s.pop();else if(x == "D" && !s.empty())s.push(s.top() * 2);else if(x == "+" && !s.empty()){int tmp1 = s.top();s.pop();int tmp2 = tmp1;if(!s.empty()){tmp2 += s.top();}s.push(tmp1);s.push(tmp2);}else s.push(stoi(x)); //需要将string转为int}//接下来逐个访问栈中的元素,得到总分while(!s.empty()){res += s.top();s.pop();}return res;} };

 

总结

以上是生活随笔为你收集整理的Leetcode 682. 棒球比赛 解题思路及C++实现的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。