刷题笔记day10

编程入门 行业动态 更新时间:2024-10-07 20:27:58

刷题<a href=https://www.elefans.com/category/jswz/34/1770047.html style=笔记day10"/>

刷题笔记day10

232.用栈实现队列

思路就是用一个切片,每次追加在后面,但是取值从最前面取值。

// 用两个栈来实现队列的先进先出的效果
// peek、push、pop、emptytype MyQueue struct {push []intpop []int
}func Constructor() MyQueue {return MyQueue {push: []int{},pop: []int{},}
}func (this *MyQueue) pushToPop() {// pop 必须是为空的,才可以进行移动if len(this.pop) == 0 {push_length := len(this.push) - 1for push_length >= 0 {this.pop = append(this.pop, this.push[push_length])this.push = this.push[:push_length]push_length--}}
}func (this *MyQueue) Push(x int)  {// this.push = append(this.push, x)// 移动this.pushToPop()
}func (this *MyQueue) Pop() int {// 先移动this.pushToPop()// if len(this.pop) <= 0 {//     return // }top := this.pop[len(this.pop) - 1]this.pop = this.pop[:len(this.pop) - 1]return top
}func (this *MyQueue) Peek() int {// 先移动this.pushToPop()return this.pop[len(this.pop) - 1]
}func (this *MyQueue) Empty() bool {this.pushToPop()return len(this.pop) <= 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();*/

225. 用队列实现栈

更多推荐

刷题笔记day10

本文发布于:2023-11-17 08:14:41,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1642196.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:笔记

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!