Golang | Leetcode Golang题解之第232题用栈实现队列

题目:

题解:

type MyQueue struct {
    inStack, outStack []int
}

func Constructor() MyQueue {
    return MyQueue{}
}

func (q *MyQueue) Push(x int) {
    q.inStack = append(q.inStack, x)
}

func (q *MyQueue) in2out() {
    for len(q.inStack) > 0 {
        q.outStack = append(q.outStack, q.inStack[len(q.inStack)-1])
        q.inStack = q.inStack[:len(q.inStack)-1]
    }
}

func (q *MyQueue) Pop() int {
    if len(q.outStack) == 0 {
        q.in2out()
    }
    x := q.outStack[len(q.outStack)-1]
    q.outStack = q.outStack[:len(q.outStack)-1]
    return x
}

func (q *MyQueue) Peek() int {
    if len(q.outStack) == 0 {
        q.in2out()
    }
    return q.outStack[len(q.outStack)-1]
}

func (q *MyQueue) Empty() bool {
    return len(q.inStack) == 0 && len(q.outStack) == 0
}

相关推荐

  1. 232.实现队列

    2024-07-13 09:36:08       34 阅读
  2. 算法10天|232.实现队列225. 队列实现

    2024-07-13 09:36:08       49 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-13 09:36:08       49 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-13 09:36:08       53 阅读
  3. 在Django里面运行非项目文件

    2024-07-13 09:36:08       42 阅读
  4. Python语言-面向对象

    2024-07-13 09:36:08       53 阅读

热门阅读

  1. 手撕排序算法:选择排序

    2024-07-13 09:36:08       25 阅读
  2. ABAP中客户部分清账的BAPI的使用方法

    2024-07-13 09:36:08       20 阅读
  3. 方便快捷传文件—搭建rsync文件传输服务器

    2024-07-13 09:36:08       24 阅读
  4. Git 在commit后,撤销commit

    2024-07-13 09:36:08       16 阅读
  5. 【React Hooks原理 - useRef】

    2024-07-13 09:36:08       18 阅读
  6. web前端开发中需要注意的一些常见问题

    2024-07-13 09:36:08       21 阅读
  7. 封装图片压缩

    2024-07-13 09:36:08       18 阅读