zoukankan      html  css  js  c++  java
  • #树#遍历#LeetCode37.序列化二叉树

    /**
     * Definition for a binary tree node.
     * public class TreeNode {
     *     int val;
     *     TreeNode left;
     *     TreeNode right;
     *     TreeNode(int x) { val = x; }
     * }
     */
    public class Codec {
    
        // Encodes a tree to a single string.
        public String serialize(TreeNode root) {
            StringBuilder sb = new StringBuilder();
            dfs(root,sb);
            return sb.toString();
        }
        void dfs(TreeNode root, StringBuilder sb) {
            if(root == null) {
                sb.append(".!");
            }else{
                 sb.append(root.val).append("!");
                 dfs(root.left,sb);
                 dfs(root.right,sb);
            }
        }
    
        // Decodes your encoded data to tree.
        public TreeNode deserialize(String data) {
            String[] arr = data.split("!");
            return decode(arr);
        }
        TreeNode decode(String[] arr) {
            TreeNode node = null;
            ++index;
            if(arr[index].equals(".")==false) {
                node = new TreeNode(Integer.valueOf(arr[index]));
                node.left = decode(arr);
                node.right = decode(arr);
            }
            return node;
        }
        int index = -1;
    }
    
    // Your Codec object will be instantiated and called as such:
    // Codec codec = new Codec();
    // codec.deserialize(codec.serialize(root));
  • 相关阅读:
    Monkeyrunner环境搭建
    学习Monkeyrunner过程
    uiautomatorviewer使用报错
    安装JMeter
    如何测试网页的访问速度
    安装Android studio
    软件测试工程师具备技能
    WinRAR去除广告弹框(精华在末尾)
    android studio adb连接不上手机
    DOM的理解
  • 原文地址:https://www.cnblogs.com/lyr-2000/p/13307800.html
Copyright © 2011-2022 走看看