20. 有效的括号

53 阅读1分钟

20. 有效的括号

func isValid(s string) bool {
        stack := make([]rune0len(s))
        m := map[rune]rune{
                '}''{',
                ']''[',
                ')''(',
        }
   
        for _, v := range s {
                if v == '{' || v == '(' || v == '[' {
                        stack = append(stack, v)
                        continue
                }
                if len(stack) == 0 {
                        return false
                }
                if stack[len(stack)-1] == m[v] {
                        stack = stack[:len(stack)-1]
                } else {
                        return false
                }
        }
        return len(stack) == 0
}