20. Valid Parentheses

前端之家收集整理的这篇文章主要介绍了20. Valid Parentheses前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Given a string containing just the characters ‘(‘,‘)’,‘{‘,‘}’,‘[’ and ‘]’,determine if the input string is valid.

The brackets must close in the correct order,“()” and “()[]{}” are all valid but “(]” and “([)]” are not.

括号匹配问题

func isValid(s @H_404_10@string) @H_404_10@bool {
    stack := []@H_404_10@byte{}
    for i := 0; i < len(s); i++ {
        switch s[i] {
        case '(','[','{':
            stack = append(stack,s[i])
        case ')':
            if len(stack) > 0 && stack[len(stack)-1] == '(' {
                stack = stack[:len(stack)-1]
            } else {
                return false
            }
        case ']':
            if len(stack) > 0 && stack[len(stack)-1] == '[' {
                stack = stack[:len(stack)-1]
            } else {
                return false
            }
        case '}':
            if len(stack) > 0 && stack[len(stack)-1] == '{' {
                stack = stack[:len(stack)-1]
            } else {
                return false
            }
        }
    }
    return (len(stack) == 0)
}

猜你在找的Go相关文章