import java.util.ArrayList; import java.util.Stack; public class Solution { public boolean IsPopOrder(int [] pushA,int [] popA) { int n = pushA.length; Stack<Integer> stack = new Stack<>(); for (int pushIndex = 0, popIndex = 0; pushIndex < n; pushIndex++) { stack.push(pushA[pushIndex]); while (popIndex < n && !stack.isEmpty() && stack.peek() == popA[popIndex]) { stack.pop(); popIndex++; } } return stack.isEmpty(); } }