当前位置: 首页 > news >正文

Golang | Leetcode Golang题解之第385题迷你语法分析器

题目:

题解:

func deserialize(s string) *NestedInteger {
    index := 0
    var dfs func() *NestedInteger
    dfs = func() *NestedInteger {
        ni := &NestedInteger{}
        if s[index] == '[' {
            index++
            for s[index] != ']' {
                ni.Add(*dfs())
                if s[index] == ',' {
                    index++
                }
            }
            index++
            return ni
        }

        negative := s[index] == '-'
        if negative {
            index++
        }
        num := 0
        for ; index < len(s) && unicode.IsDigit(rune(s[index])); index++ {
            num = num*10 + int(s[index]-'0')
        }
        if negative {
            num = -num
        }
        ni.SetInteger(num)
        return ni
    }
    return dfs()
}

相关文章:

  • 图形化编程系统学习10
  • 如何在知行之桥上通过业务单号查找原始报文?
  • erlang学习:用OTP构建系统3,应用程序服务器
  • SQL视图:简化复杂查询的利器
  • python——python-docx
  • ffmpeg视频转切片m3u8并加密videojs播放hls.js播放dplayer播放(弹幕效果)
  • Mysql集群
  • 大模型时代下,软件检测行业将如何发展?
  • 我问Chat GPT:怎么提交app到苹果商店审核
  • 清除系统缓存提高写盘速度的tips
  • RedisTemplate集成+封装RedisUtil
  • 简述Glide的源码
  • 010 OSS文件上传
  • 【HarmonyOS】鸿蒙应用蓝牙功能实现 (三)
  • 【C++ Primer Plus习题】7.4
  • 源代码编译,Apache DolphinScheduler前后端分离部署解决方案
  • 【面试经验】美团基础研发部产品经理面试经验
  • 【HuggingFace Transformers】BertSelfOutput 和 BertOutput源码解析
  • 如何在路由器中抓包分析
  • 纯原生-如何在不破解情况下使用Android监听支付宝微信收款消息
  • 七部门联合发布《终端设备直连卫星服务管理规定》
  • 制定出台民营经济促进法有何重大意义?全国人大常委会法工委回应
  • 2025年“投资新余•上海行”钢铁产业“双招双引”推介会成功举行
  • 中国人保一季度业绩“分化”:财险净利增超92%,寿险增收不增利
  • 成都世运会倒计时100天,中国代表团运动员规模将创新高
  • 王毅会见泰国外长玛里:坚决有力打击电诈等跨境犯罪