Serilize/DeSerilize tree
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 public static TreeNode DeSerilize(ArrayList<String>res,int[] i){ 2 if(res.get(i[0]).equals("#")||i[0]==res.size()) return null; 3 TreeNode root = new TreeNode (Integer.valueOf(res.get(i[0]))); 4 ++i[0]; 5 root.left = DeSerilize(res,i); 6 ++i[0]; 7 root.right = DeSerilize(res,i); 8 return root; 9 } 10 public static void Serilize(TreeNode root, ArrayList<String>res){ 11 if(root==null){ 12 res.add("#"); 13 return; 14 } 15 res.add(String.valueOf(root.val)); 16 Serilize(root.left,res); 17 Serilize(root.right,res); 18 }