括号是否合法 No.20
func isValid(s string) bool {
m := map[string]string{
")":"(",
"]":"[",
"}":"{",
}
stack := make([]string, 0)
for _, c := range s {
if _, ok := m[string(c)]; !ok {
stack = append(stack, string(c))
} else if len(stack) ==0 || m[string(c)] != stack[len(stack)-1] {
return false
} else {
stack = stack[:len(stack)-1]
}
}
return len(stack) == 0
}