leetcode20.有效的括号

括号必须对称,括号匹配顺序符合“先进后出”

func isValid(s string) bool {
    stack:=make([]string,0)

    for _,v:=range s{
        if string(v)=="(" || string(v)=="[" || string(v)=="{"{
            stack=append(stack,string(v))
        }else{
            //不允许先右后左
            if len(stack)==0{
                return false
            }
            pushStack:=stack[len(stack)-1]
            if (pushStack=="(" && string(v)==")") || (pushStack=="[" && string(v)=="]") || (pushStack=="{" && string(v)=="}") {
                stack=stack[:len(stack)-1]
            }else{
                return false
            }
        }
    }

    return len(stack)==0

}

Last updated