您的位置 首页 golang

golang 解题标准括号问题

·解题思路来源https://github.com/azl3979858…

package mainimport "container/list"import "fmt"func main(){    s := "{{}}"    m := "{{[()}]}"    l := "{[(())]}"    fmt.Println(check(s))    fmt.Println(check(m))    fmt.Println(check(l))}func check(x string) bool {    mapper := map[byte]byte{        '{':'}',        '(':')',        '[':']',    }    stack := list.New() //初始化栈    for _, v := range x {        i := byte(v)        if _, ok := mapper[i]; ok {            //入栈            stack.PushFront(i)            fmt.Println(i)        } else {            if stack.Len() == 0 {                return false            }            l := stack.Remove(stack.Front()).(byte)            r, ok := mapper[l]            if !ok || r != i {                return false            }            fmt.Printf("%s:%s", "S", string(i))            fmt.Printf("%s:%s", "L", string(l))            fmt.Printf("%s:%s", "R", string(r))            fmt.Println()        }    }    if stack.Len() > 0 {        return false    }    return true}

文章来源:智云一二三科技

文章标题:golang 解题标准括号问题

文章地址:https://www.zhihuclub.com/1447.shtml

关于作者: 智云科技

热门文章

发表评论

您的电子邮箱地址不会被公开。

网站地图