

二叉树序列化:
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

本文介绍了如何实现二叉树的先序序列化和反序列化。在序列化过程中,使用空节点的特殊标记 '#' 追加到字符串末尾;在反序列化时,通过 '!' 分割字符串并根据先序遍历重建二叉树。此外,还提及了按层遍历的序列化方法。
最低0.47元/天 解锁文章
458

被折叠的 条评论
为什么被折叠?



