两个栈实现一个队列,两个队列实现一个栈-JAVA

xiaoxiao2021-02-28  65

两个栈实现一个队列

import java.util.EmptyStackException; import java.util.Stack; 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() { if(stack1.empty()){ throw new EmptyStackException(); } while(!stack1.empty()){ int temp = stack1.pop(); stack2.push(temp); } int a = stack2.pop(); while(!stack2.empty()){ int temp = stack2.pop(); stack1.push(temp); } return a; } }

两个队列实现一个栈

import java.util.Deque; import java.util.LinkedList; import java.util.NoSuchElementException; class Solution { Deque<Integer> list1 = new LinkedList<Integer>(); Deque<Integer> list2 = new LinkedList<Integer>(); public void push(int node){ list1.add(node); } public int pop(){ if(list1.isEmpty()){ throw new NoSuchElementException(); } while(list1.size()!=1){ int temp = list1.pop(); list2.add(temp); } int a = list1.pop(); while(!list2.isEmpty()){ int temp = list2.pop(); list1.add(temp); } return a; } }
转载请注明原文地址: https://www.6miu.com/read-61366.html

最新回复(0)