一、题目内容

image.png

二、题解

解法1:

思路

双栈,一个支持add,一个支持删除

代码

  1. class CQueue {
  2. private Stack<Integer> addStack;
  3. private Stack<Integer> delStack;
  4. public CQueue() {
  5. addStack = new Stack<Integer>();
  6. delStack = new Stack<Integer>();
  7. }
  8. public void appendTail(int val) {
  9. addStack.push(val);
  10. }
  11. public int deleteHead() {
  12. if (delStack.isEmpty()) {
  13. if (addStack.isEmpty()) {
  14. return -1;
  15. } else {
  16. while (!addStack.isEmpty()) {
  17. delStack.push(addStack.pop());
  18. }
  19. }
  20. }
  21. return delStack.pop();
  22. }
  23. }