package main
import (
"container/list"
"fmt"
)
//第一种方法
func is_valid(str string) bool {
strLen := len(str)
//判断数据合法性,基本的校验
if strLen == 0 {
return true
}
if strLen%2 == 1 {
return false
}
//利用go里面的list 模拟stack 主要用到front 、remove 方法来模拟堆栈的POP、Push方法
stack := list.New()
pairsMap := map[byte]byte{')': '(', ']': '[', '}': '{'}
for i := 0; i < strLen; i++ {
value := str[i]
//碰见左边的入栈,右边则不入栈,并获取上一个元素与该元素匹配是否正确
if pairs