借用arraystack的包完成
import github.com/emirpasic/gods/stacks/arraystack
func isValid(s string) bool {
stack := arraystack.New()
for _, c := range s {
if c == '(' {
stack.Push(')')
} else if c == '[' {
stack.Push(']')
} else if c == '{' {
数组栈的结构如下:
type ArrayStack struct {
data []interface{}
top int // 栈顶指针
}
实现的操作:
栈是否为空
入栈
出栈
清空栈
输出栈
代码如下:
package main
import fmt
type ArrayStack struct {
data []interface{}
top int
}
func NewArrayStack() *ArrayStack {
ret