String Serialize(TreeNode root) {
        if(root == null){
           return "#" ;
        }
        return root.val+","+Serialize( root.left)+","+Serialize( root.right);

  }
    int index = 0;
    TreeNode Deserialize(String str) {
        String[] split = str.split(",");
        TreeNode root = null;
        if(!split[index] .equals("#") ){
            root = new TreeNode(Integer.valueOf(split[index]));
            index++;
            root.left = Deserialize( str);
            root.right = Deserialize( str);
        }else{
            index++;
        }
        return root;
  }