297.二叉树的序列化与反序列化

  • 297.二叉树的序列化与反序列化
  • 题解
  • 代码

297.二叉树的序列化与反序列化

297.二叉树的序列化与反序列化

题解

题目:给你一个二叉树,序列化从一个string字符串,再从一个string字符串还原出二叉树

思路:

1.序列化:前序遍历,根左右
2.反序列化:递归,根左右

代码

type TreeNode struct {Val   intLeft  *TreeNodeRight *TreeNode
}
type Codec struct{}func Constructor() (_ Codec) {return
}func (Codec) serialize(root *TreeNode) string {ss := make([]string, 0)var dfs func(*TreeNode)dfs = func(root *TreeNode) {if root == nil {ss = append(ss, "null")return}ss = append(ss, strconv.Itoa(root.Val))dfs(root.Left)dfs(root.Right)}dfs(root)return strings.Join(ss, ",")
}func (Codec) deserialize(data string) *TreeNode {ss := strings.Split(data, ",")var build func() *TreeNodebuild = func() *TreeNode {if ss[0] == "null" {ss = ss[1:]return nil}val, _ := strconv.Atoi(ss[0])ss = ss[1:]return &TreeNode{val, build(), build()}}return build()
}

golang力扣leetcode 297.二叉树的序列化与反序列化相关推荐

  1. LeetCode 297. 二叉树的序列化与反序列化 | Python

    文章目录 297. 二叉树的序列化与反序列化 题目 解题思路 代码实现 实现结果 总结 297. 二叉树的序列化与反序列化 题目来源:力扣(LeetCode)https://leetcode-cn.c ...

  2. Java实现 LeetCode 297 二叉树的序列化与反序列化

    297. 二叉树的序列化与反序列化 序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得 ...

  3. LeetCode 297. 二叉树的序列化与反序列化

    题目链接: 力扣https://leetcode.cn/problems/serialize-and-deserialize-binary-tree/ [分析]序列化的时候很简单,任意的一种二叉树遍历 ...

  4. LeetCode 297. 二叉树的序列化与反序列化(前序遍历层序遍历)

    文章目录 1. 题目 2. 解题 2.1 前序遍历 2.2 层序遍历 1. 题目 序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过 ...

  5. 【leetcode】二叉树,297二叉树的序列化与反序列化

    297. 二叉树的序列化与反序列化 前言 题目难度:困难 一.题目描述 二.前序遍历解法 三.后序遍历解法 四.中序遍历解法 五.层级遍历解法 前言 如果你看过下面这几篇,那这道题应该对你来说信手拈来 ...

  6. 【LeetCode】【HOT】297. 二叉树的序列化与反序列化(BFS)

    [LeetCode][HOT]297. 二叉树的序列化与反序列化 文章目录 [LeetCode][HOT]297. 二叉树的序列化与反序列化 package hot;import java.util. ...

  7. [Golang]力扣Leetcode - 374. 猜数字大小(二分查找)

    [Golang]力扣Leetcode - 374. 猜数字大小(二分查找) 题目:猜数字游戏的规则如下: 每轮游戏,我都会从 1 到 n 随机选择一个数字. 请你猜选出的是哪个数字. 如果你猜错了,我 ...

  8. [Golang]力扣Leetcode - 852. 山脉数组的峰顶索引(二分查找)

    [Golang]力扣Leetcode - 852. 山脉数组的峰顶索引(二分查找) 题目:符合下列属性的数组 arr 称为 山脉数组 : arr.length >= 3 存在 i(0 < ...

  9. LeetCode Java刷题笔记—297. 二叉树的序列化与反序列化

    297. 二叉树的序列化与反序列化 请实现两个函数,分别用来序列化和反序列化二叉树.这里不限定你的序列 / 反序列化算法执行逻辑,你只需要保证一个二叉树可以被序列化为一个字符串并且将这个字符串反序列化 ...

最新文章

  1. BF法-字符模式匹配
  2. 服务端的第五次课程:安全,认证,授权
  3. chrome postman插件_一款 Postman 的开源替代品: Postwoman
  4. 电脑基础操作_苹果电脑基础操作,和使用须知
  5. 正则表达式 python_Python正则表达式总结
  6. 一条SQL查询语句是如何执行的? MySql杂谈
  7. hc06蓝牙模块介绍_SKYLAB|基于蓝牙工卡的主被动一体化室内定位方案
  8. php 赋值给 dom对象,详解PHP原生DOM对象操作XML的方法
  9. 封装和@property
  10. 请检查virtualboxapi是否正确安装_MBR膜组件安装施工方案指南
  11. 数据结构课程设计:顺序结构、动态链表结构下的一元多项式的加法、减法、乘法的实现...
  12. 【数字图像处理系列五】图像滤波之空间滤波:图像平滑降噪和图像锐化
  13. python入门教程傻瓜版_大数据学习资料集--2014-12-23
  14. node创建ETH地址及导出私钥
  15. 歌剧《猫》的经典唱段《memory》中英文对照
  16. Android 12 行为变更,对应用产生的影响
  17. HTML邮件制作心得
  18. 快速安装到安卓手机软件
  19. Nginx高级优化(2): shell脚本日志切割,连接超时,进程数,网页压缩,防盗链,FPM 参数优化!!
  20. [js点滴]JavaScript基础正则详解03

热门文章

  1. PDF如何添加背景颜色与图片背景
  2. java分布式存储框架,HR的话扎心了
  3. mac idea 和系统常用快捷键
  4. 基于FPGA的 矩阵键盘按键识别 【原理+源码】
  5. Apple开发账号续费流程及Tips
  6. js es10 新特性
  7. 说一说$emit和$on
  8. 晶体管为元件的计算机时代是,根据使用的元器件,将计算机的发展划分为几个时代...
  9. 面试题:机器学习的学习方式主要有哪些?
  10. 各种格式文件免费转换