Tree的前序序列化

来源:互联网 发布:陕西seo服务公司 编辑:程序博客网 时间:2024/06/04 18:51

 Tree的序列化

比如有一颗树是这样的
                     
                                            1
                                2                       3
                    
如果它这个节点本身不是空则输入自己的值然后加上“!#” 
如果是空则打印“#”
反正要把最后一个节点的左子树和右子树也需要加上

所以这棵树的先序序列化之后为 
1!#2!###3!###

代码:


package com.sangfor.tree;public class Node {public int value;public Node left;public Node right;public Node(int value) {this.value = value;}}
package com.sangfor.tree;public class TreeToString {    public static void main(String[] args) {    String s = "";Node node1 = new Node(1);Node node2 = new Node(2);        Node node3 = new Node(3);node1.left = node2;node1.right = node3;s = treeToString(node1);System.out.println(s);}         public static String treeToString(Node head) {    String string = "";    if (head == null) {    return "#";    } else {    string += head.value + "!#";    string += treeToString(head.left);    string += treeToString(head.right);    }    return string;    }}

结果:

1!#2!###3!###




0 0