public class linkedStack<T>{
private Node head=null;
public linkedStack(){
}
void push(T item){
if(head==null){
head =new Node<T>();
head.setValue(item);
}else{
Node oldHead=new Node<T>();
oldHead=head;
head.setValue(item);
head.setNext(oldHead);
}
}
T pop() throws EmptyStackException{
Node<T> thrown=head;
head=head.getNext();
return thrown.getValue();
}
T top() throws EmptyStackException{
Node<T> thrown=head;
return thrown.getValue();
}
boolean isEmpty(){
return(head==null);
}
}
cHVibGljIGNsYXNzIGxpbmtlZFN0YWNrPFQ+ewogICAgIHByaXZhdGUgTm9kZSBoZWFkPW51bGw7CgoJcHVibGljIGxpbmtlZFN0YWNrKCl7Cgl9CgoJdm9pZCBwdXNoKFQgaXRlbSl7CgkJaWYoaGVhZD09bnVsbCl7CgkJCWhlYWQgPW5ldyBOb2RlPFQ+KCk7CgkJCWhlYWQuc2V0VmFsdWUoaXRlbSk7CgkJCX1lbHNlewoJCQkJTm9kZSBvbGRIZWFkPW5ldyBOb2RlPFQ+KCk7CgkJCQlvbGRIZWFkPWhlYWQ7CgkJCQloZWFkLnNldFZhbHVlKGl0ZW0pOwoJCQkJaGVhZC5zZXROZXh0KG9sZEhlYWQpOwoJCQl9Cgl9CgoJVCBwb3AoKSB0aHJvd3MgRW1wdHlTdGFja0V4Y2VwdGlvbnsKCQlOb2RlPFQ+IHRocm93bj1oZWFkOwoJCWhlYWQ9aGVhZC5nZXROZXh0KCk7CgkJcmV0dXJuIHRocm93bi5nZXRWYWx1ZSgpOwoJfQoKCVQgdG9wKCkgdGhyb3dzIEVtcHR5U3RhY2tFeGNlcHRpb257CgkJTm9kZTxUPiB0aHJvd249aGVhZDsKCQlyZXR1cm4gdGhyb3duLmdldFZhbHVlKCk7Cgl9CgoJYm9vbGVhbiBpc0VtcHR5KCl7CgkJcmV0dXJuKGhlYWQ9PW51bGwpOwoJfQp9