用A表示读者还书的小车,B表示管理员将书借给读者的小车
class CQueue {
LinkedList<Integer> A,B;
public CQueue() {
A=new LinkedList<Integer>();
B=new LinkedList<Integer>();
}
public void appendTail(int value) {
A.addLast(value);//读者还书
}
public int deleteHead() {
if(!B.isEmpty()) return B.removeLast();//管理员借书给读者
if(A.isEmpty()) return -1;
while(!A.isEmpty())
B.addLast(A.removeLast());//管理员把 B车的书全借出去后,从 A车车顶取书到 B车,再重复 B车借书过程
return B.removeLast();//管理员借书给读者
}
}
/**
* Your CQueue object will be instantiated and called as such:
* CQueue obj = new CQueue();
* obj.appendTail(value);
* int param_2 = obj.deleteHead();
*/