首页 > 其他 > 详细

Serilize/DeSerilize tree

时间:2014-03-22 07:42:35      阅读:348      评论:0      收藏:0      [点我收藏+]
bubuko.com,布布扣
1     public static TreeNode buildByLevel(ArrayList<String>res,int index){
2         if(index>=res.size()|| res.get(index).equals("#"))return null;
3         TreeNode root = new TreeNode(Integer.valueOf(res.get(index)));
4         root.left = buildByLevel (res,2*index+1);
5         root.right = buildByLevel (res,2*index+2);
6         return root;
7     }
View Code
bubuko.com,布布扣
 1 public static void printLevel(TreeNode root, ArrayList<String>res){
 2         LinkedList<TreeNode> cur = new LinkedList<TreeNode>();
 3         cur.offer(root);
 4         while(!cur.isEmpty()){
 5             LinkedList<TreeNode> next = new LinkedList<TreeNode>();
 6             for(TreeNode n:cur){
 7                 if(n!=null){
 8                     System.out.print(n.val+" ");
 9                     res.add(String.valueOf(n.val));
10                     if(n.left==null && n.right==null) continue;
11                     next.offer(n.left);
12                     next.offer(n.right);
13                 }
14                 else
15                     System.out.print("# ");
16                     res.add("#");
17             }
18             cur = next;
19         }
20     }
View Code

Level order

 

bubuko.com,布布扣
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     }
View Code
bubuko.com,布布扣
1 public static void Serilize(TreeNode root, ArrayList<String>res){
2         if(root==null){
3             res.add("#");
4             return;
5         }
6         res.add(String.valueOf(root.val));
7         Serilize(root.left,res);
8         Serilize(root.right,res);
9     }
View Code

Preorder

Serilize/DeSerilize tree,布布扣,bubuko.com

Serilize/DeSerilize tree

原文:http://www.cnblogs.com/krunning/p/3617072.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!