import java.util.Stack; /** * 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 * @author user * *思路:队列是先入先出,栈是先入后出,可以将数据压入第一个栈后,在弹出来压入第二个栈,弹得时候直接从第二个栈弹出,弹出后又将 *第二个栈中的所有数据弹出重新压入的一个栈 */ public class Solution { Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> stack2 = new Stack<Integer>(); public void push(int node) { stack1.push(node); } public int pop() { while(!stack1.isEmpty()) { stack2.push(stack1.pop()); } int returnData = stack2.pop(); while(!stack2.isEmpty()) { stack1.push(stack2.pop()); } return returnData; } }
时间: 2024-10-05 05:02:12