题目描述

请实现两个函数,分别用来序列化和反序列化二叉树

首先得理解题目的意思,序列化就是返回一个带有#和逗号的字符串。反序列化就是根据带有#和逗号的字符串返回一棵二叉树。比如对于二叉树

   1/ \2    3/\    /\
4  5   6  7

来讲,序列化的结果是1,2,#,#,3,4,#,7,#,#,5,#,#,。而反序列化的结果则是输出一棵二叉树。

下面是具体的实现代码(已被牛客AC):

String Serialize(TreeNode root) {StringBuilder sb = new StringBuilder();if (root == null) {sb.append("#,");return sb.toString();}sb.append(root.val + ",");sb.append(Serialize(root.left));sb.append(Serialize(root.right));return sb.toString();}int p = -1;TreeNode Deserialize(String str) {p++;if (p >= str.length())return null;TreeNode node = null;String[] strArray = str.split(",");if (!strArray[p].equals("#")) {node = new TreeNode(Integer.valueOf(strArray[p]));node.left = Deserialize(str);node.right = Deserialize(str);}return node;}

剑指offer系列之六十:序列化二叉树相关推荐

  1. 《剑指Offer》37:序列化二叉树

    题目 请实现两个函数,分别用来序列化和反序列化二叉树. 分析 我们清楚可以通过前序遍历序列和中序遍历序列创造出一棵二叉树.因此,我们可以先把一棵二叉树序列化成一个前序遍历序列和一个中序遍历序列,然后在 ...

  2. 剑指offer(61)序列化二叉树

    题目描述 请实现两个函数,分别用来序列化和反序列化二叉树 题目分析 首先拿到题目时候,我先想到的是什么是序列化二叉树?序列化主要就是在前后端交互时候需要转换下,毕竟网络传输的是流式数据(二进制或者文本 ...

  3. 剑指offer系列之三十七:二叉树的深度

    题目描述 输入一棵二叉树,求该树的深度.从根结点到叶结点依次经过的结点(含根.叶结点)形成树的一条路径,最长路径的长度为树的深度. 有了前面寻找二叉树路径的基础之后,解决这题应该不难.根据书上的思路, ...

  4. 剑指offer六十一之序列化二叉树(待补充)

    一.题目 请实现两个函数,分别用来序列化和反序列化二叉树 二.思路 三.代码 --------------------------------------------- 参考链接: 转载于:https ...

  5. 剑指offer系列之十:二进制中1的个数

    题目描述: 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示.比如输入9,9的二进制表示是1001,1的个数是2,所以输出2. 这有一个重要结论:一个数与该数减一的结果进行与运算,会把该 ...

  6. leetcode 打印_剑指 Offer 总结 - leetcode 剑指offer系列

    剑指 Offer 系列完结撒花!! 本篇文章是对整个系列的精华总结, 对系列的每篇文章进行了分类, 并用一句话概括每道题的思路, 方便大家理解和记忆, 当然也包含原文完整链接供大家参考 总的来说, 写 ...

  7. 在要求输入数字处找到非数字字符_剑指 Offer 67. 把字符串转换成整数 leetcode 剑指offer系列...

    点击专辑上方"蓝字"关注我吧 题目难度: 中等 原题链接[1] 今天继续更新剑指 offer 系列, 老样子晚上 6 点 45 分准时更新公众号 每日精选算法题, 大家记得关注哦~ ...

  8. 剑指offer python实现_剑指offer系列python实现 日更(三)

    今天来讲讲斐波那契数列和它的孩子们~先讲个冷笑话:今天来一盘斐波那契炒饭,它等于昨天的炒饭加上前天的炒饭 ‍ 7.斐波那契数列 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第 ...

  9. 数组中其余的排除_[leetcode 剑指offer系列] 面试题04. 二维数组中的查找

    题目难度: 简单 原题链接 今天继续更新剑指 offer 系列, 这道题的优化空间非常大, 个人感觉很适合作为面试题, 值得一做. 大家在我的公众号"每日精选算法题"中的聊天框中回 ...

最新文章

  1. 什么是智能医院?如何构建自己的解决方案?
  2. QT的QNdefFilter类的使用
  3. mysql group 条件,mysql - mysql group by,两个条件,限制1 - SO中文参考 - www.soinside.com...
  4. 【Docker】容器镜像有哪些特性
  5. 【今日CV 视觉论文速览】29 Nov 2018
  6. LeetCode —— 365. 水壶问题(Python3)
  7. 前台之boostrap
  8. ubuntu16.04 打开chrome弹出“Enter password to unlock your login keyring”解决方法
  9. jmeter web监听结果_监听器-聚合报告监听性能测试结果
  10. Python 中缀表达式转换后缀表达式
  11. Gym102028G Shortest Paths on Random Forests 生成函数、多项式Exp
  12. uoj#422. 【集训队作业2018】小Z的礼物(MIn-Max容斥+插头dp)
  13. 基于Java+SSM+MySQL的高校后勤综合管理系统
  14. kindle刷机ttl_kindle paper white 2 (kpw) 无限重启救砖方法
  15. 五篇经典好文,值得一看
  16. 与、或、非、与非、或非、异或、同或
  17. vue3采用xlsx库实现上传excel文件,前端解析展示数据(日期转换问题解决)
  18. LeetCode340:至多包含 K 个不同字符的最长子串(python)
  19. Ornstein-Uhlenbeck过程
  20. 业余选手成就了软件开发者?

热门文章

  1. python 读下一行-Python:读取上一行并与当前行进行比较
  2. python文件对象提供了3个读方法、分别是-python3基础之文件对象操作
  3. 4_Tensorflow框架的使用(20181217-)
  4. tortoiseHG不用每次输入密码
  5. zend studio输出中文乱码的问题
  6. Linux crontab 命令格式与详细例子
  7. 三、初识Socket套接字结构体
  8. hbuilder ios 打包失败,无法导入p12证书的解决方案
  9. ORA-12012: error on auto execute of job quot;ORACLE_OCM
  10. NARF(Normal Aligned Radial Feature)关键点