package main
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param s string字符串
* @return bool布尔型
*/
func isValid( s string ) bool {
hash_table := make(map[byte]byte, 0)
hash_table['('] = ')'
hash_table['{'] = '}'
hash_table['['] = ']'
queue := make([]byte, 0)
for _,c := range s {
if len(queue) == 0 {
queue = append(queue, byte(c))
} else {
val,ok := hash_table[queue[len(queue)-1]]
if ok {
if val == byte(c) {
queue = queue[0:len(queue)-1]
} else {
queue = append(queue, byte(c))
}
} else {
return false
}
}
}
return len(queue) == 0
}