在算法题中假如你的编程语言没有基本的数据结构比如stack 自己实现的时候只实现核心部分即可
这个题 只实现的 一个slice即可
func isValid(s string) bool {
m := make(map[rune]rune)// 辅助map
m['('],m['{'],m['['] = ')','}',']'
st := make([]rune,0,len(s))
for _,v := range s {
if _,ok := m[v];ok {
st = append(st,v)
}else {
if len(st) == 0 { // 右边比左边多
return false
}
top := st[len(st)-1]
if v != m[top]{
return false
}
if len(st) >0 {
st = st[:len(st)-1]
}
}
}
if len(st) > 0 { // 左边比右边多
return false
}
return true
}