1047. 删除字符串中的所有相邻重复项
题目链接
题解:简单题,最后需要注意反转字符串即可。
class Solution {
public:string removeDuplicates(string s) {stack<char> z;for(int i=0;i<s.size();i++){if(!z.empty()){int top=z.top();if(top==s[i]){z.pop();}else{z.push(s[i]);}}else{z.push(s[i]);}}string result="";while(!z.empty()){result+=z.top();z.pop();}reverse(result.begin(),result.end());return result;}
};
150. 逆波兰表达式求值
题目链接
题解:只需要注意一下及时把栈顶圆元素得到并pop,然后要记得字符串的类型要转换成长整型,记住stoll函数。
class Solution {
public:int evalRPN(vector<string>& tokens) {stack<long long> z;for(int i=0;i<tokens.size();i++){if(tokens[i]=="+"||tokens[i]=="-"||tokens[i]=="*"||tokens[i]=="/"){long long a=z.top();z.pop();long long b=z.top();z.pop();if(tokens[i]=="+") z.push(a+b);if(tokens[i]=="-") z.push(b-a);if(tokens[i]=="*") z.push(b*a);if(tokens[i]=="/") z.push(b/a);}else{long long num=stoll(tokens[i]);z.push(num);}}return z.top();}
};