序列化二叉树

来源:互联网 发布:wpsoffice是什么软件 编辑:程序博客网 时间:2024/06/16 05:13


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


/*public class TreeNode {    int val = 0;    TreeNode left = null;    TreeNode right = null;    public TreeNode(int val) {        this.val = val;    }}*/public class Solution {    public int index = -1;    String Serialize(TreeNode root) {        StringBuilder sb = new StringBuilder();        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();  }    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("#")) {            node = new TreeNode(Integer.valueOf(strr[index]));            node.left = Deserialize(str);            node.right = Deserialize(str);        }        return node;  }}


原创粉丝点击