题解 | #用两个栈实现队列#
用两个栈实现队列
https://www.nowcoder.com/practice/54275ddae22f475981afa2244dd448c6
using System.Collections.Generic; class Solution { Stack<int> stack1 = new Stack<int>(); Stack<int> stack2 = new Stack<int>(); public void push(int node) { if (stack1.Count == 0 && stack2.Count == 0) { stack1.Push(node); } else if (stack1.Count != 0 && stack2.Count == 0) { stack2.Push(node); } else if (stack1.Count != 0 && stack2.Count != 0) { while (stack2.Count != 0) { stack1.Push(stack2.Pop()); } stack2.Push(node); while (stack1.Count != 1) { stack2.Push(stack1.Pop()); } } else if (stack1.Count == 0 && stack2.Count != 0) { stack1.Push(stack2.Pop()); stack2.Push(node); } } public int pop() { if (stack1.Count != 0) return stack1.Pop(); return stack2.Pop(); } }#用两个栈实现队列#