题目:

class Solution {
public:
bool validateStackSequences(vector<int>& pushed, vector<int>& popped) { //pushed里的每一个元素都必定经过入栈和出栈的操作,最后栈为空才行
stack<int> st;
for(int i=0,j=0;i<pushed.size();i++){ //遍历pushed数组,每一个元素都进行一次入栈操作
st.push(pushed[i]);
while(!st.empty()&&st.top()==popped[j]){ //遍历popped数组。当前popped元素与栈顶元素相等时进行出栈操作,代表该元素成功正常进行了出入栈操作
st.pop();
j++;
} //若无法出栈,则继续入栈
}
return st.empty(); //最后栈为空才行
}
};
以上代码转自力扣官方题解