1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| type MyQueue struct { stack []int }
/** Initialize your data structure here. */ func Constructor() MyQueue { return MyQueue{make([]int, 0)} }
/** Push element x to the back of queue. */ func (this *MyQueue) Push(x int) { this.stack = append(this.stack, x) }
/** Removes the element from in front of queue and returns that element. */ func (this *MyQueue) Pop() int { v := this.Peek() this.stack = this.stack[1:len(this.stack)] return v }
/** Get the front element. */ func (this *MyQueue) Peek() int { return this.stack[0] }
/** Returns whether the queue is empty. */ func (this *MyQueue) Empty() bool { return len(this.stack) == 0 }
/** * Your MyQueue object will be instantiated and called as such: * obj := Constructor(); * obj.Push(x); * param_2 := obj.Pop(); * param_3 := obj.Peek(); * param_4 := obj.Empty(); */
|