zoukankan      html  css  js  c++  java
  • 62:序列化二叉树

    /**
     * 面试题62:序列化二叉树
     * 请实现两个函数,分别用来序列化和反序列化二叉树
     */
    import java.lang.StringBuilder;
    public class _62_seriailze_binaryTree {
        public static void main(String[] args) {
            TreeNode62 treeNode62 = new TreeNode62(1);
            treeNode62.left = new TreeNode62(2);
            treeNode62.right = new TreeNode62(3);
    
            Solution62 solution62 = new Solution62();
            String serialize = solution62.Serialize(treeNode62);
            System.out.println(serialize);
        }
    }
    class Solution62 {
        String Serialize(TreeNode62 root) {
            if(root==null){
                return "";
            }
            StringBuilder sb = new StringBuilder();
            Serialize2(root,sb);
            return sb.toString();
        }
        void Serialize2(TreeNode62 root,StringBuilder sb) {
            if (root == null) {
                sb.append("$,");
                return;
            }
            sb.append(root.val);
            sb.append(",");
            Serialize2(root.left,sb);
            Serialize2(root.right,sb);
        }
        TreeNode62 Deserialize(String str) {
            if(str==null||str.length()==0){
                return null;
            }
            return Deserialize2(str.split(","));
        }
        int index=-1;
        TreeNode62 Deserialize2(String[] str) {
            index++;
            if(!"$".equals(str[index])){
                TreeNode62 result=new TreeNode62(Integer.parseInt(str[index]));
                result.left=Deserialize2(str);
                result.right=Deserialize2(str);;
                return result;
            }
            return null;
        }
    }
    
    class TreeNode62 {
        int val = 0;
        TreeNode62 left = null;
        TreeNode62 right = null;
        public TreeNode62(int val) {
            this.val = val;
        }
    }
    
  • 相关阅读:
    Tomcat生命周期管理与观察者模式
    利于ThreadLocal管理Hibernate Session
    Spring多数据源配置
    MySQL数据库性能优化之硬件瓶颈分析
    浅谈监听器与过滤器
    StringManager与单例模式
    ThreadLocal在spring框架中的作用
    spring中事件机制
    MySQL数据库性能优化之存储引擎选择
    Spring常用的Listener
  • 原文地址:https://www.cnblogs.com/andy-zhou/p/6554119.html
Copyright © 2011-2022 走看看