- 新建一个栈,将数组A压入栈中,当栈顶元素等于数组B时,就将其出栈,当循环结束时,判断栈是否为空,若为空则返回true.
- A是进栈,B判断是否出栈
import java.util.*;
public class Solution {
public boolean IsPopOrder(int [] pushA,int [] popA) {
//新建一个栈,将数组A压入栈中,当栈顶元素等于数组B时,就将其出栈,当循环结束时,判断栈是否为空,若为空则返回true.
//A是进栈,B判断是否出栈
Stack<Integer> stack=new Stack<Integer>();
int k=0;
for(int i=0;i<pushA.length;i++)
{
stack.push(pushA[i]);
while(stack.peek()==popA[k])
{
stack.pop();
k=k+1;
if(k==pushA.length)
{
break;
}
if(stack.isEmpty()==true)
{
break;
}
}
}
if(stack.isEmpty()==true)
{
return true;
}
return false;
}
}