golang中的栈(LeetCode刷题)
栈的模拟(LeetCode刷题用法)
func main() {stack := make([]string, 0)stack = append(stack, "1" )stack = append(stack, "2" )stack = append(stack, "3" )fmt.Println(stack)stack = stack[:len(stack)-1]fmt.Println(stack)
}
[1 2 3]
[1 2]
以下不用阅读
Invalid operation: i-ind (mismatched types int and interface{})
LeetCode 739实现
golang没有设计stack类型吗?
答案是有的!使用list(双链表)的部分操作就可以达到stack操作的目的。
stack := list.New() //初始化栈
ind := stack.Remove(stack.Front()).(int) //出栈
stack.PushFront(i) //入栈
fmt.Println(stack.Front().Value)
但是为什么需要.(int)的类型断言?给stack传入的本来就是int类型的
// golang list源码
type Element struct {next, prev *Elementlist *ListValue interface{}
}
可以看到Value是 interface{}类型的变量。所以不进行转换调用会报错 会报错因为content是interface{}类型, 而不是int类型(Invalid operation: i-ind (mismatched types int and interface{}))
通过断言实现了类型转换。
参考资料
https://studygolang.com/articles/4276
golang中的栈(LeetCode刷题)相关推荐
- LeetCode刷题实战354:俄罗斯套娃信封问题
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...
- LeetCode刷题实战355:设计推特
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...
- LeetCode刷题实战631:设计 Excel 求和公式
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...
- Leetcode刷题 225题:用队列实现栈(基于Java和c++两种语言)
** Leetcode刷题 225题:用队列实现栈(基于Java和c++两种语言) ** 题目: 使用队列实现栈的下列操作: push(x) – 元素 x 入栈 pop() – 移除栈顶元素 top( ...
- Leetcode刷题 232题:用栈实现队列(基于python3和c++两种语言)
Leetcode刷题 232题:用栈实现队列(基于python3和c++两种语言) 题目: 使用栈实现队列的下列操作: push(x) – 将一个元素放入队列的尾部. pop() – 从队列首部移除元 ...
- Leetcode刷题 155题: 最小栈(基于python3和c++两种语言)
** Leetcode刷题 155题: 最小栈(基于python3和c++两种语言) ** ** 题目: ** 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈. ...
- Leetcode刷题 1441题: 用栈操作构建数组(基于python3和c++两种语言)
Leetcode刷题 1441题: 用栈操作构建数组(基于python3和c++两种语言) ** 题目: ** 给你一个目标数组 target 和一个整数 n.每次迭代,需要从 list = {1,2 ...
- C#LeetCode刷题-栈
栈篇 # 题名 刷题 通过率 难度 20 有效的括号 C#LeetCode刷题之#20-有效的括号(Valid Parentheses) 33.0% 简单 42 接雨水 35.6% 困难 71 简化路 ...
- Leetcode刷题——栈与队列
Leetcode刷题--栈与队列 一.栈与队列定义 二.Leetcode题目 1.用栈实现队列 2.用队列实现栈 一.栈与队列定义 栈:先进后出,栈提供push 和 pop 等等接口,所有元素必须符合 ...
最新文章
- Windows10 中使用 virtualbox 安装ubuntu 虚拟机
- 专用ADC与群集软件之比较
- 微软Adam挑战Google Brain:我的机器学习比你快
- weekly paper read
- Asp.net MVC, 谁吃了我的id参数值?
- Windows系统安全模式妙用全接触
- python实现根据文件名找出(拷贝/剪切)同名文件的不同类型文件
- 计算机 函数的应用,职称计算机:公式与函数的应用(2)
- android 数字圆环,Android 自定义数字圆环
- Maven - 构建与命令
- leetcode162. Find Peak Element
- 做前端工程师,就业方向有哪些?你知道吗
- 前端后台的爱恨情仇——接口调试
- SQL语句 获取系统日期
- 实验一:marlab安装调试
- 保护眼睛——设置WIN7和XP 窗体、Chrome、IE网页背景颜色(zz)
- LEGION: Visually compare modeling techniques for regression
- 云起实验室:零基础入门Serverless:一键部署红白机小游戏
- Java 在线编程编译工具上线,直接运行Java代码
- 计算机专业海报加文字,巧用字体做海报之——字图穿插