题解 | #包含min函数的栈#

包含min函数的栈

https://www.nowcoder.com/practice/4c776177d2c04c2494f2555c9fcc1e49

package main

// 采用双栈法记录到当前元素为栈顶的时候,最小的元素是哪个
var stack []int = []int{}
var minStack []int = []int{} //记录1中每个元素为栈顶的时候最小值分别是
func Push(node int) {
	// write code here
	stack = append(stack, node)
	if len(minStack) == 0 || minStack[len(minStack)-1] > node {
		minStack = append(minStack, node)
	} else {
		minStack = append(minStack, minStack[len(minStack)-1])
	}
}
func Pop() {
	// write code here
	stack = stack[:len(stack)-1]
	minStack = minStack[:len(minStack)-1]
}
func Top() int {
	return stack[len(stack)-1]
}
func Min() int {
	// write code here
	return minStack[len(minStack)-1]
}

全部评论

相关推荐

码农索隆:谁问你了 举报了 删了,求你了 我要哭了 我一点也不眼红 我要跳楼
点赞 评论 收藏
分享
09-01 16:09
门头沟学院 Java
点赞 评论 收藏
分享
勉勉强强过了两题,没发挥好
投递字节跳动等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务