stack1 push 时都入到这个栈
stack2 pop 时,从第一个元素取值,如果为空,则把stack1中元素全部导入进来,同时置空stack1
package main
var stack1 [] int
var stack2 [] int
func Push(node int) {
stack1 = append(stack1, node)
}
func Pop() int{
// 如果为空, 则把stack1中元素全部导进来
if len(stack2) == 0 {
if len(stack1) > 0 {
stack2 = append(stack2, stack1...)
stack1 = stack1[:0]
}
}
if len(stack2) == 0 {
return 0
}
node := stack2[0]
stack2 = stack2[1:]
return node
}
京公网安备 11010502036488号