码迷,mamicode.com
首页 > 其他好文 > 详细

序列化二叉树

时间:2019-03-29 16:14:33      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:class   pre   ali   turn   序列   sub   treenode   二叉树   反序列化   

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

 

Java:

 1 /*
 2 public class TreeNode {
 3     int val = 0;
 4     TreeNode left = null;
 5     TreeNode right = null;
 6 
 7     public TreeNode(int val) {
 8         this.val = val;
 9 
10     }
11 
12 }
13 */
14 public class Solution {
15     private String s ;
16     
17     String Serialize(TreeNode root) {
18         if (root == null){
19             return "#" ;
20         }
21         return root.val + " " + Serialize(root.left) + " " + Serialize(root.right) ;
22     }
23     TreeNode Deserialize(String str) {
24         s = str ;
25         return Deserialize() ;
26     }
27     
28     TreeNode Deserialize() {
29         if (s.length() == 0)
30             return null ;
31         int index = s.indexOf(‘ ‘) ;
32         String node = index == -1 ? s : s.substring(0,index) ;
33         s = index == -1 ? "" : s.substring(index+1) ;
34         if (node.equals("#"))
35             return null ;
36         int val = Integer.valueOf(node) ;
37         TreeNode t = new TreeNode(val) ;
38         t.left = Deserialize() ;
39         t.right = Deserialize() ;
40         return t ;
41     }
42 }

 

序列化二叉树

标签:class   pre   ali   turn   序列   sub   treenode   二叉树   反序列化   

原文地址:https://www.cnblogs.com/mengchunchen/p/10621854.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!