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

Golang | Leetcode Golang题解之第297题二叉树的序列化与反序列化

题目:

题解:

type Codec struct{}func Constructor() (_ Codec) {return
}func (c Codec) serialize(root *TreeNode) string {if root == nil {return "X"}left := "(" + c.serialize(root.Left) + ")"right := "(" + c.serialize(root.Right) + ")"return left + strconv.Itoa(root.Val) + right
}func (Codec) deserialize(data string) *TreeNode {var parse func() *TreeNodeparse = func() *TreeNode {if data[0] == 'X' {data = data[1:]return nil}node := &TreeNode{}data = data[1:] // 跳过左括号node.Left = parse()data = data[1:] // 跳过右括号i := 0for data[i] == '-' || '0' <= data[i] && data[i] <= '9' {i++}node.Val, _ = strconv.Atoi(data[:i])data = data[i:]data = data[1:] // 跳过左括号node.Right = parse()data = data[1:] // 跳过右括号return node}return parse()
}
http://www.lryc.cn/news/410836.html

相关文章:

  • 交叉熵和MSE的区别
  • 具身智能又进一步!卡内基梅隆Meta苏黎世联邦实现虚拟人超灵活抓取
  • 嘉盛:货币政策走向与市场预期
  • [C#]基于wpf实现的一百多种音色的Midi键盘软件
  • 关于香橙派系统烧录,1.1.8或者1.1.10两个版本都无法启动Orangepi5
  • 深入解析Python `httpx`源码,探索现代HTTP客户端的秘密!
  • python爬虫【3】—— 爬虫反反爬
  • LIS接入开发
  • Stable Diffusion Windows本地部署超详细教程(手动+自动+整合包三种方式)
  • 【Golang 面试 - 基础题】每日 5 题(七)
  • 教你如何从Flink小白成为Contributor最终拿到腾讯的Offer
  • java-数据结构与算法-02-数据结构-07-优先队列
  • 从0开始搭建vue + flask 旅游景点数据分析系统(一):创建前端项目
  • 支持AI的好用的编辑器aieditor
  • 数据结构之《栈》
  • Vue3基础语法
  • 【Python】基础学习技能提升代码样例4:常见配置文件和数据文件读写ini、yaml、csv、excel、xml、json
  • JavaScript基础——JavaScript调用的三种方式
  • ITSS:IT服务工程师
  • 鸿蒙开发——axios封装请求、拦截器
  • Scikit-Learn中的分层特征工程:构建更精准的数据洞察
  • CSOL遭遇DDOS攻击如何解决
  • 基于python的BP神经网络红酒品质分类预测模型
  • Kylin与Spark:大数据技术集成的深度解析
  • ⌈ 传知代码 ⌋ 利用scrapy框架练习爬虫
  • 深入了解 Python 面向对象编程(最终篇)
  • 手把手教你实现基于丹摩智算的YoloV8自定义数据集的训练、测试。
  • SSH相关
  • mysql超大分页问题处理~
  • Gitlab以及分支管理