011_有效的括号
知识点:栈、括号匹配原理
LeetCode第二十题:https://leetcode-cn.com/problems/valid-parentheses/submissions/
语言:GoLang
/*
* 问题一:空串怎么处理?有效还是无效?
*
*/
func isValid(s string) bool {
length := len(s)
if length % 2 == 1 {
return false
}
stack := []rune{}
for _, value := range s {
if value == '(' || value == '[' || value == '{' {
stack = append(stack, value)
}else {
if len(stack) > 0 && value == ')' && stack[len(stack) - 1] == '(' {
stack = stack[:len(stack) - 1]
}
if len(stack) > 0 && value == ']' && stack[len(stack) - 1] == '[' {
stack = stack[:len(stack) - 1]
}
if len(stack) > 0 && value == '}' && stack[len(stack) - 1] == '{' {
stack = stack[:len(stack) - 1]
}
}
}
return len(stack) == 0
}

浙公网安备 33010602011771号