Go语言实现:【剑指offer】用两个栈实现队列
2024-08-30 14:25:32
该题目来源于牛客网《剑指offer》专题。
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
Go语言实现:
var list1 = list.New()
var list2 = list.New()
//入队 123
func push(node int) {
//入栈 123
list1.PushFront(node)
}
//队先进先出 123
func pop() int {
if list2.Len() == 0 {
for list1.Len() != 0 {
//栈先进后出 321
front := list1.Front()
//入栈 321
list2.PushFront(list1.Remove(front).(int))
}
//栈先进后出 123
first := list2.Front()
return list2.Remove(first).(int)
}
return -1
}
最新文章
- PHP导出数据到CSV文件函数 csv_export()
- Android -- ImageView(控制图片的大小以及旋转的角度)
- Ubuntu android 开发配置
- 资源: CustomResource, ResourceDictionary, 加载外部的 ResourceDictionary 文件
- K.O. ----- bat文件的中文乱码
- 进度的Block在子线程调用
- 8000401a 错误 ,检索 COM 类工厂中 CLSID 为 的组件时失败,原因是出现以下错误: 8000401a。
- iOS学习之UITableView
- Entity Framework 5.0
- Beautiful Numbers
- [译]C++如何切分字符串
- 2018-2019-2 《网络对抗技术》Kali安装 Week1 20165236
- EDI 学习开发(一)
- 关于maven的CoreException: Could not get the value for parameter compilerId for plugin 。。的错误
- OCM_第十一天课程:Section5 —》数据仓库
- Java基础(basis)-----抽象类和接口详解
- NO.3day 网络基础
- overlay实现容器跨主机通信
- python一个元素全为数的列表做差分
- 解决 Github用户名 变为 invalid-email-address 问题