package LeetCode_232 import java.util.* /** * 232. Implement Queue using Stacks * https://leetcode.com/problems/implement-queue-using-stacks/description/ * * Implement the following operations of a queue using stacks. push(x) -- Push element x to the back of queue. pop() -- Removes the element from in front of queue. peek() -- Get the front element. empty() -- Return whether the queue is empty. * */ class MyQueue() { /** Initialize your data structure here. */ val stack = Stack<Int>() /** Push element x to the back of queue. */ fun push(x: Int) { stack.push(x) } /** Removes the element from in front of queue and returns that element. */ fun pop(): Int { val firstElement = stack.get(0) stack.removeAt(0) return firstElement } /** Get the front element. */ fun peek(): Int { return stack.get(0) } /** Returns whether the queue is empty. */ fun empty(): Boolean { return stack.isEmpty() } } /** * Your MyQueue object will be instantiated and called as such: * var obj = MyQueue() * obj.push(x) * var param_2 = obj.pop() * var param_3 = obj.peek() * var param_4 = obj.empty() */