![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
栈
自由幻梦师
越刷越爽,每天五道leetcode走起
展开
-
逆波兰表达式求值
栈是解决匹配问题的,这道题就是知识点:stoi()将字符换转换成数字;遍历整个数组,如果数组中的元素为特殊符号就开始计算,如果没有就把元素正常入栈。class Solution {public: int evalRPN(vector<string>& tokens) { stack<int>a; for(int i=0;i<tokens.size();i++){ if(tokens[i]=..原创 2022-02-05 22:13:08 · 488 阅读 · 0 评论 -
栈的问题的考虑方式
栈一般用于匹配问题一般都会遍历一下给出的字符串或数组,当每次读到某一个特殊的符号或数字时就开始匹配,没有得到特殊符号时就入栈有效括号里面遍历整个数组,若为左括号则读入,当读到右括号这个特殊的符号时,就开始与栈顶进行匹配,若匹配成功就继续遍历,不成功就返回false删除字符串中的所有相邻项中,同样先是遍历整个数组,如果当遍历的当前字符与栈顶的字符相等时就弹出对头,不相等就正常入栈。计算逆波兰表达式的时候同样是遍历整个数组,当读入到特殊符号时+-*/,就开始取出之前入栈的数字原创 2022-02-05 21:49:37 · 394 阅读 · 0 评论 -
删除字符串中所有相邻重复项
匹配问题都是栈的强项这里就用的是栈的匹配问题。循环遍历每一个字符串如果如果当前字符和栈顶不一样就放入栈顶,或者栈顶为空,放入栈顶,如果一样就弹出栈顶。class Solution {public: string removeDuplicates(string s) { stack<char>st; for(auto a:s){ if(st.empty()||st.top()!=a){原创 2022-02-05 17:31:52 · 163 阅读 · 0 评论