leetcode:
https://leetcode.cn/problems/implement-queue-using-stacks/des...
解题思路:

type MyQueue struct {    stack []int    back  []int}/** Initialize your data structure here. */func Constructor() MyQueue {    return MyQueue{        stack: make([]int, 0),        back:  make([]int, 0),    }}/** Push element x to the back of queue. */func (this *MyQueue) Push(x int) {    for len(this.back) != 0 {        val := this.back[len(this.back)-1]        this.back = this.back[:len(this.back)-1]        this.stack = append(this.stack, val)    }    this.stack = append(this.stack, x)}/** Removes the element from in front of queue and returns that element. */func (this *MyQueue) Pop() int {    for len(this.stack) != 0 {        val := this.stack[len(this.stack)-1]        this.stack = this.stack[:len(this.stack)-1]        this.back = append(this.back, val)    }    if len(this.back) == 0 {        return 0    }    val := this.back[len(this.back)-1]    this.back = this.back[:len(this.back)-1]    return val}/** Get the front element. */func (this *MyQueue) Peek() int {    for len(this.stack) != 0 {        val := this.stack[len(this.stack)-1]        this.stack = this.stack[:len(this.stack)-1]        this.back = append(this.back, val)    }    if len(this.back) == 0 {        return 0    }    val := this.back[len(this.back)-1]    return val}/** Returns whether the queue is empty. */func (this *MyQueue) Empty() bool {    return len(this.stack) == 0 && len(this.back) == 0}