package main
// import "fmt"
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param s string字符串
* @return bool布尔型
*/
func isValid(s string) bool {
// write code here
slen := len(s)
if slen%2 != 0 {
return false
}
stack := make([]rune, 0)
for _, c := range s {
if c == '(' || c == '[' || c == '{' {
stack = append(stack, c)
} else if c == ')' || c == ']' || c == '}' {
if len(stack) == 0 {
return false
} else if c == ')' && stack[len(stack)-1] == '(' {
stack = stack[:len(stack)-1]
} else if c == ']' && stack[len(stack)-1] == '[' {
stack = stack[:len(stack)-1]
} else if c == '}' && stack[len(stack)-1] == '{' {
stack = stack[:len(stack)-1]
} else {
return false
}
}
}
if len(stack) == 0 {
return true
} else {
return false
}
}