每日一道算法题:有效的括号

AI摘要
这是一个关于算法题“有效的括号”的代码分享,使用Go语言实现。通过栈结构匹配括号:遇到左括号入栈,遇到右括号检查栈顶是否匹配,不匹配则返回false,最终栈为空则有效。

有效的括号

func isValid(s string) bool {
    match := map[rune]rune{
        ')':'(',
        ']':'[',
        '}':'{',
    }

    stack := make([]rune,0)
    for _,c := range s{
        //右括号
        if left,ok := match[c];ok{
            //栈顶不匹配
            if len(stack) == 0 || stack[len(stack)-1] != left{
                return false
            }
            stack = stack[:len(stack)-1]
        }else{
            //左括号入栈
            stack = append(stack,c)
        } 
    }
    return len(stack) == 0
}
本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!