GO 语言检查符号的正确性

14 篇文章 ¥79.90 ¥99.00
本文展示了两种使用 Go 语言检查括号字符串正确性的方法。第一种利用 container/list 模拟栈结构,通过遍历字符串并比较左右括号来验证匹配性;第二种方法通过对字符串进行一半遍历,直接比较对应位置的括号。在每种方法中,首先进行基本的数据合法性校验,然后进行具体的匹配操作。最后,通过 main 函数调用示例验证了函数的正确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package main

import (
    "container/list"
    "fmt"
)

//第一种方法

func is_valid(str string) bool {
    strLen := len(str)
    //判断数据合法性,基本的校验
    if strLen == 0 {
        return true
    }
    if strLen%2 == 1 {
        return false
    }
    //利用go里面的list 模拟stack 主要用到front 、remove 方法来模拟堆栈的POP、Push方法
    stack := list.New()
    pairsMap := map[byte]byte{')': '(', ']': '[', '}': '{'}
    for i := 0; i < strLen; i++ {
        value := str[i]
        //碰见左边的入栈,右边则不入栈,并获取上一个元素与该元素匹配是否正确
        if pairs

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

只是代号而已

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值