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

Golang | Leetcode Golang题解之第449题序列化和反序列化二叉搜索树

题目:

题解:

type Codec struct{}func Constructor() (_ Codec) { return }func (Codec) serialize(root *TreeNode) string {arr := []string{}var postOrder func(*TreeNode)postOrder = func(node *TreeNode) {if node == nil {return}postOrder(node.Left)postOrder(node.Right)arr = append(arr, strconv.Itoa(node.Val))}postOrder(root)return strings.Join(arr, " ")
}func (Codec) deserialize(data string) *TreeNode {if data == "" {return nil}arr := strings.Split(data, " ")var construct func(int, int) *TreeNodeconstruct = func(lower, upper int) *TreeNode {if len(arr) == 0 {return nil}val, _ := strconv.Atoi(arr[len(arr)-1])if val < lower || val > upper {return nil}arr = arr[:len(arr)-1]return &TreeNode{Val: val, Right: construct(val, upper), Left: construct(lower, val)}}return construct(math.MinInt32, math.MaxInt32)
}

http://www.mrgr.cn/news/40289.html

相关文章:

  • linux中使用docker命令时提示权限不足
  • 自然语言处理问答系统最新技术
  • 嵌入式必懂微控制器选型:STM32、ESP32、AVR与PIC的比较分析
  • 测试用例_边界值介绍(需求自动化生成用例方法论)
  • 定时器定时中断定时器外部中断
  • 【C++前缀和 数论 贪心】2245. 转角路径的乘积中最多能有几个尾随零|2036
  • 软件开发人员绩效考核方案(参考)
  • EP42 公告详情页
  • Linux 常用命令
  • DID身份是什么?
  • Python面向对象基础:属性动态添加
  • 《More Effective C++》的学习
  • 特殊的 BASE64 1
  • AJAX JSON 实例
  • 【信创,国产化】信息化系统信创改造,国产化改造方案,云建设
  • 水果质量检测数据集 腐烂检测13个类别‘ 训练集1811 验证集514 测试集258
  • 群面技巧|无领导小组讨论发言技巧|无领导小组讨论角色|无领导小组讨论提问|秋招
  • 车辆种类分类识别数据集,可以识别7种汽车类型,已经按照7:2:1比 例划分数据集,训练集1488张、验证集507张,测试集31张, 共计2026张。
  • Golang | Leetcode Golang题解之第448题找到所有数组中消失的数字
  • 【机器学习】任务六:分类算法(支持向量机(SVM)在线性可分与不可分数据中的应用与可视化分析)