二叉树序列化:
1,假设序列化结果为str,初始时str为空
2,先序遍历遇到空节点,在str末尾加上#!
3,如果遇到不为空的节点,假设节点为3,在str末尾加上3!
二叉树反序列化:
1,以!为分隔符
2,按先序遍历组成二叉树
package test;
import java.util.LinkedList;
import java.util.Queue;
public class Serialization {
private static class BinaryNode{
int val;
BinaryNode left;
BinaryNode right;
public BinaryNode(){}
public BinaryNode(int val){
this.val = val;
}
}
// 先序方式序列化
public static String binaryToString(BinaryNode head){
StringBuilder stringBuilder = new StringBuilder();
if(head == n