面试题62:序列化二叉树

来源:互联网 发布:软件开发做什么 编辑:程序博客网 时间:2024/05/18 03:19


/*public class TreeNode {    int val = 0;    TreeNode left = null;    TreeNode right = null;    public TreeNode(int val) {        this.val = val;    }}*/public class Solution {   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();    }     int index=0;//全局变量     TreeNode Deserialize(String str) {        if(str==null) return null;        String[] value=str.split(",");        if(index<value.length){            String temp=value[index++];            if(temp.equals("#"))                return null;            else{                TreeNode cur=new TreeNode(Integer.valueOf(temp));                cur.left=Deserialize(str);                cur.right=Deserialize(str);                return cur;            }        }        return null;  }}