题目
解题思路
实现
1、辅助栈模拟操作法
题目指出 pushed 是 popped 的排列 。因此,无需考虑 pushed 和 popped 长度不同 或 包含元素不同 的情况。
class Solution {
public boolean validateStackSequences(int[] pushed, int[] popped) {
Stack<Integer> stack = new Stack<>();
int i = 0;
for (int num : pushed) {
// num 入栈
stack.push(num);
// 循环判断与出栈
while (!stack.isEmpty() && stack.peek() == popped[i]) {
stack.pop();
i++;
}
}
return stack.isEmpty();
}
}