class Solution {
public boolean validateStackSequences(int[] pushed, int[] popped) {
if(pushed.length==0 || popped.length==0){
return true;
}
Stack<Integer> help=new Stack<>();
//用于标识弹出序列的位置
int index=0;
for(int i=0;i<pushed.length;i++){
help.push(pushed[i]);
//如果栈不为空,且栈顶元素等于弹出序列
while(!help.empty() && help.peek()==popped[index]){
//出栈
help.pop();
//弹出序列向后一位
index++;
}
}
return help.empty();
}
}
剑指Offer:栈的压入、弹出序列
最新推荐文章于 2021-05-06 21:53:49 发布