题目描述
 
实现两个函数,分别用来序列化和反序列化二叉树
 
思路
 
序列化:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中简历起来的二叉树可以持久保存  反序列化:根据某种遍历方式得到的序列化字符串结果,重构二叉树
 
代码
 
public class Solution {
    
    String Serialize(TreeNode root) {
        StringBuffer sb=
new StringBuffer();
        
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 index=-
1;
    TreeNode Deserialize(String str) {
        index++;
        
int len=str.length();
        
if(index>=len) 
return null;
        
        String[] str1=str.split(
",");
        TreeNode node=
null;
        
        
        
        
if(!str1[index].equals(
"#")){
            node=
new TreeNode(Integer.valueOf(str1[index]));
            node.left=Deserialize(str);
            node.right=Deserialize(str);
        }
        
return node;
  }
} 
目录
 
  
  
    题目描述思路代码目录