题目:
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元素与栈顶元素相等时进行出栈操作,否则继续入栈。
st.pop();
j++;
} //若无法出栈,则继续入栈
}
return st.empty(); //最后栈为空才是正常的
}
};
以上代码转自力扣官方题解
标签:压入,Offer,31,pushed,vector,序列 From: https://www.cnblogs.com/fly-smart/p/17601786.html