package q20 func isValid(s string) bool { stack := make([]byte, 0, len(s)/2) for i := range len(s) { switch s[i] { case '(', '[', '{': stack = append(stack, s[i]) case ')': if len(stack) == 0 || stack[len(stack)-1] != '(' { return false } stack = stack[:len(stack)-1] case ']': if len(stack) == 0 || stack[len(stack)-1] != '[' { return false } stack = stack[:len(stack)-1] case '}': if len(stack) == 0 || stack[len(stack)-1] != '{' { return false } stack = stack[:len(stack)-1] } } return len(stack) == 0 } var _ = isValid