题目讲解
946. 验证栈序列
算法讲解
在这里就只需要模拟一下这个栈的出栈顺序即可:使用一个stack,每次让pushed里面的元素入栈,如果当前栈顶的元素等于poped容器中的当前元素,因此就需要让栈顶元素出栈,poped的遍历位置往后移动一位
class Solution {
public:bool validateStackSequences(vector<int>& pushed, vector<int>& popped) {stack<int>st;int i = 0;for(auto& num : pushed){st.push(num);while(!st.empty() && st.top() == popped[i]){st.pop();i++;}}return st.empty();}
};