Leetcode 682. 棒球比赛 解题思路及C++实现
生活随笔
收集整理的這篇文章主要介紹了
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++实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 496. 下一个更大元
- 下一篇: Leetcode 844. 比较含退格的