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 ""
}