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

解析:首先存储二叉树的先序遍历,遇到null就添加”#,” 否则添加“值,”。构件二叉树的时候也是用先序遍历构件。

/*
public class TreeNode {int val = 0;TreeNode left = null;TreeNode right = null;public TreeNode(int val) {this.val = val;}
}
*/
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;
public class Solution {public int index = -1;String Serialize(TreeNode root) {StringBuffer sb = new StringBuffer();if(root == null){//遇到null节点就添加"#,"sb.append("#,");return sb.toString();}//添加根节点值sb.append(root.val + ",");//递归添加做孩子节点值sb.append(Serialize(root.left));sb.append(Serialize(root.right));return sb.toString();}TreeNode Deserialize(String str) {index++;int len = str.length();if(index >= len){return null;}String[] strr = str.split(",");TreeNode node = null;if(!strr[index].equals("#")){//节点不是"#",意味着该节点不是null//递归构建节点node = new TreeNode(Integer.valueOf(strr[index]));node.left = Deserialize(str);//递归创建leftnode.right = Deserialize(str);递归创建right}return node;}
}

《剑指offer》序列化二叉树相关推荐

  1. 《LeetCode力扣练习》剑指 Offer 27. 二叉树的镜像 Java

    <LeetCode力扣练习>剑指 Offer 27. 二叉树的镜像 Java 一.资源 题目: 请完成一个函数,输入一个二叉树,该函数输出它的镜像. 例如输入: 4 / 2 7 / \ / ...

  2. 【LeetCode】剑指 Offer 34. 二叉树中和为某一值的路径

    [LeetCode]剑指 Offer 34. 二叉树中和为某一值的路径 文章目录 [LeetCode]剑指 Offer 34. 二叉树中和为某一值的路径 package offer;import ja ...

  3. 【LeetCode】剑指 Offer 27. 二叉树的镜像

    [LeetCode]剑指 Offer 27. 二叉树的镜像 文章目录 [LeetCode]剑指 Offer 27. 二叉树的镜像 一.递归法 二.辅助栈(或队列) 一.递归法 根据二叉树镜像的定义,考 ...

  4. 算法leetcode|剑指 Offer 27. 二叉树的镜像|226. 翻转二叉树(rust很强)

    文章目录 剑指 Offer 27. 二叉树的镜像|226. 翻转二叉树: 样例 1: 限制: 分析 题解 rust go c++ java python 原题传送门:https://leetcode. ...

  5. JZ27 [剑指 Offer 27] 二叉树的镜像

    二叉树的镜像 Category Difficulty Likes Dislikes lcof Easy (79.61%) 311 - 请完成一个函数,输入一个二叉树,该函数输出它的镜像. 例如输入: ...

  6. 《剑指offer》二叉树镜像

    剑指offer简单题,但是能一下写对也需要小心考虑细节. 题目描述 操作给定的二叉树,将其变换为源二叉树的镜像. 输入描述: 二叉树的镜像定义:源二叉树 8 / 6 10 /   / 5 7 9 11 ...

  7. 【Java】 剑指offer(27) 二叉树的镜像

    本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集   题目 请完成一个函数,输入一个二叉树,该函数输出它的镜像. 思路 画图可 ...

  8. 剑指offer 27. 二叉树的镜像

    声明:本系列博客是对何海涛<剑指offer>的关键点总结. 1.树的镜像 定义:树的根结点相同,但是左右两个子节点交换了位置 2.解题思路 1)前序遍历树的每一个结点: 2)如果遍历到的节 ...

  9. 剑指offer:二叉树序列化与反序列化 - Python

    转载自:https://blog.csdn.net/u010005281/article/details/79787278 题目描述 请实现两个函数,分别用来序列化和反序列化二叉树. 解题思路 序列化 ...

  10. 剑指 Offer 34. 二叉树中和为某一值的路径【附完整可运行代码】

    立志用最少的代码做最高效的表达 输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径.从树的根节点开始往下一直到叶节点所经过的节点形成一条路径. 示例: 给定如下二叉树,以及目标和 ...

最新文章

  1. Recyclerview 添加一个数组
  2. Makefile的东西
  3. HDU(1847)Good Luck in CET-4 Everybody!
  4. 在archlinux上搭建twitter storm cluster
  5. python3环境下“No module named nibabel”的解决办法
  6. Windows Server查看和记录远程登录信息的方法
  7. Lesson 16.1416.15 GoogLeNet:思想与具体框架GoogLeNet复现
  8. 我去,还在这样读写 excel 这也太低效了吧,好办法来了
  9. Memory Dog for Autodesk Maya
  10. sql 分组求和_数据仓库工具–Hive(归纳笔记第六部分:SQL练习)
  11. 大一计算机论文_计算机二级基础,60集全套视频教程+500习题,送给你参考下
  12. 叫你怎么恢复回收站已清空文件(转)
  13. 德标螺纹规格对照表_螺栓螺母德标、欧标、国标对照表
  14. java ape切割_无损分解和保持依赖的判断
  15. tcp/ip协议的三次握手4次断开
  16. Python使用Win32和天行机器人API实现微信自动聊天机器人(自动敷衍机器人)
  17. storm风暴英雄 tempo_【风暴英雄】锐派专区 - fb.replays.net | 风暴英雄官网合作中文站...
  18. PHPAdmin数据类型
  19. VC++实现会议中阻止屏保、阻止系统自动关闭屏幕、阻止系统待机(附源码)
  20. 浅谈 Java 中的排序

热门文章

  1. Effective Java之谨慎地使用本地方法(五十四)
  2. 解题报告+优化——试题 基础练习 矩形面积交——16行代码AC
  3. 算法竞赛入门经典(第二版) | 习题3-5 谜题 (UVa227,Puzzle)(World Finals 1993)
  4. wait()和sleep()
  5. (*长期更新)软考网络工程师学习笔记——Section 5 数据链路层
  6. laytpl遍历实体列表_Layui数据表格之获取表格中所有的数据方法
  7. PHP反射的优点,PHP 反射使用和理解
  8. mongodb mysql 写_MongoDB与MySQL关于写确认的异同
  9. python生成随机骨料模型代码_Abaqus Python脚本-3D随机球形骨料的生成
  10. python网络编程能做什么_python网络编程——什么是socket?