leetcode 946. 验证栈序列 medium
题目描述:
解题思路:
建立一个辅助栈,按压栈顺序压栈,按出栈顺序出栈
具体办法:遍历入栈顺序: 假如当前栈顶和当前被比较的出栈数字一样,那就出栈,直到不一样为止。否则继续入栈。
代码:
class Solution {
public:
bool validateStackSequences(vector<int>& pushed, vector<int>& popped) {
if (pushed.size() != popped.size())
return false;
stack<int> stk;
for (int i = 0, j=0; i < pushed.size(); i++)
{
stk.push(pushed[i]);
while (stk.size() && j< popped.size() && stk.top() == popped[j])
{
stk.pop();
j++;
}
}
return stk.empty();
}
};