package problems.medium;
import java.util.Stack;
/**
* Created by sherxon on 1/4/17.
*/
public class VerifyPreorderSerializationofBinaryTree {
public boolean isValidSerialization(String s) {
if(s==null)return true;
String[] ss= s.split(",");
Stack<String> stack= new Stack<>();
for(String e:ss){
stack.add(e);
while(stack.size()>1 && stack.peek().equals("#")){
String p=stack.pop();
String p2=stack.peek();
if(p.equals(p2) && p.equals("#")){
stack.pop();
if(stack.size()==0)return false;
stack.pop();
stack.add(p);
}else{
stack.add(p);
break;
}
}
}
return stack.size()==1 && stack.peek().equals("#");
}
}