二叉树的序列化和反序列化java借助队列实现
2017-01-01 22:39
232 查看
以先序遍历方式完成二叉树的序列化
反序列化
public String serialize(TreeNode root){ if(root==null){ return "#,"; } return root.val+","+serialize(root.left)+serialize(root.right); }
反序列化
public TreeNode deSerialize(String str){ Queue<String> queue = new LinkedList<String>(); String[] deals = str.split(","); for(int i=0;i<deals.length;i++){ queue.add(deals[i]); } TreeNode root = preOrder1(queue); return root; } TreeNode preOrder(Queue<String> q){ String deal = q.poll(); if("#".equals(deal)){ return null; } TreeNode node = new TreeNode(Integer.valueOf(deal)); node.left = preOrder(q); node.right = preOrder(q); return node; }
相关文章推荐
- 数据结构与算法分析笔记与总结(java实现)--二叉树4:二叉树的序列化和反序列化练习题
- 实现二叉树的层序遍历,说说Java中的队列结构(实现一个Java的队列)
- 二叉树的序列化和反序列化实现(C++)
- 序列化和反序列化二叉树(java版)
- 请实现两个函数,分别用来序列化和反序列化二叉树
- 今天无意中发现JavaBean类基本都要求实现了Serializable接口,以前只是知道序列化以后,可以通过io流的方式将对象序列化和反序列化,进行存取,但不知道为什么需要序列化,今天总结一下
- Java中链表、堆栈、队列、二叉树、散列表等数据结构的实现
- 剑指offer-二叉树的序列化和反序列化(困惑)-Java
- java使用serializable进行序列化与反序列化实现对象clone(克隆)
- Java序列化,如何实现序列化和反序列化?常见的序列化协议有哪些?
- java序列化和反序列化的简单实现
- java 序列化 反序列化 简单实现
- 【总结】Java序列化,反序列化实例(属性类不实现序列化接口)
- 序列化二叉树(Java实现)
- java序列化和反序列化对象到mysql 的实现
- c语言实现二叉树层次遍历(借助队列实现)
- 线程实现方式以及序列化 反序列化.java
- 请实现两个函数,分别用来序列化和反序列化二叉树
- Java 中的类为什么要实现序列化呢 / JAVA中序列化和反序列化中的静态成员问题
- 剑指offer面试题63 序列化二叉树(java实现)