题目描述
https://leetcode.cn/leetbook/read/illustration-of-algorithm/5wh1hj/
解题思路
此题就是模拟一下栈的压入和弹出,当栈顶元素等于出栈的数组数字时,此时就需要循环出栈,不相等时,接着入栈,返回的时候,如果栈为空,那么全部匹配,如果栈不为空,那么匹配失败。
class Solution {
public boolean validateStackSequences(int[] pushed, int[] popped) {
Stack<Integer> stack = new Stack<>();
int popIndex = 0;
for (int value : pushed) {
stack.push(value);
// 循环判断是否需要出栈
while (!stack.isEmpty() && stack.peek() == popped[popIndex]) {
stack.pop();
popIndex++;
}
}
return stack.isEmpty();
}
}