package com.interview.books.question300;
import java.util.Stack;
/**
* Created by stefanie on 1/21/15.
*/
public class TQ53_CheckStackSequence {
public boolean check(int[] push, int[] pop){
Stack<Integer> stack = new Stack();
int j = 0;
for(int i = 0; i < push.length; i++){
if(push[i] != pop[j]) stack.push(push[i]);
else j++;
}
while(!stack.isEmpty()) {
if(stack.pop() != pop[j++]) return false;
}
return true;
}
public static void main(String[] args){
TQ53_CheckStackSequence checker = new TQ53_CheckStackSequence();
int[] push = new int[]{1,2,3,4};
int[] pop = new int[]{2,3,4,1};
System.out.println(checker.check(push, pop)); //true
pop = new int[]{2,4,3,1};
System.out.println(checker.check(push, pop)); //true
pop = new int[]{4,3,2,1};
System.out.println(checker.check(push, pop)); //true
pop = new int[]{4,2,3,1};
System.out.println(checker.check(push, pop)); //false
pop = new int[]{4,3,1,2};
System.out.println(checker.check(push, pop)); //false
}
}