package main /** * * @param s string字符串 * @return bool布尔型 */ func isValid( s string ) bool { str := s if len(str) == 0 { return true } stack := make([]string, 0) for i := 0; i < len(str); i++ { if str[i] == '(' || str[i] == '[' || str[i] == '{' { stack = append(stack, string(str[i])) } else { if len(stack) == 0 || getAdapt(stack[len(stack)-1]) != string(str[i]) { return false } stack = stack[:len(stack)-1] } } if len(stack) != 0 { return false } return true } func getAdapt(s string) string { switch s { case "(": return ")" case "[": return "]" case "{": return "}" } return "" }