20. Valid Parentheses

来源:互联网 发布:淘宝违规怎么处理 编辑:程序博客网 时间:2024/06/15 17:45

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 string) bool {    stack := []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)}
0 0
原创粉丝点击