classMyQueue{/** Initialize your data structure here. */LinkedList<Integer>stack1=newLinkedList<>();LinkedList<Integer>stack2=newLinkedList<>();publicMyQueue(){}/** Push element x to the back of queue. */publicvoidpush(intx){stack1.push(x);}/** Removes the element from in front of queue and returns that element. */publicintpop(){if(stack2.isEmpty()){while(!stack1.isEmpty()){stack2.push(stack1.pop());}}returnstack2.isEmpty()?0:stack2.pop();}/** Get the front element. */publicintpeek(){if(stack2.isEmpty()){while(!stack1.isEmpty()){stack2.push(stack1.pop());}}returnstack2.isEmpty()?0:stack2.peek();}/** Returns whether the queue is empty. */publicbooleanempty(){returnstack2.isEmpty()&&stack1.isEmpty();}}/** * Your MyQueue object will be instantiated and called as such: * MyQueue obj = new MyQueue(); * obj.push(x); * int param_2 = obj.pop(); * int param_3 = obj.peek(); * boolean param_4 = obj.empty(); */