zoukankan      html  css  js  c++  java
  • leetcode

    • 序列化

      string serialize(TreeNode* root){
          string res;
          dfs_s(root, res);
          return res;
      }
      
      void dfs_s(TreeNode* root, string &res)
      {
          if(!root)
          {
              res += "#,";
              return;
          }
          res += to_string(root -> val) + ',';
          dfs_s(root -> left, res);
          dfs_s(root -> right, res);
      }
      
    • 反序列化

      TreeNode* deserialize(string data) {
          int u = 0;
          return dfs_d(data, u);
      }
      
      TreeNode* dfs_d(string data, int &u)
      {
          if(data[u] == '#')
          {
              u += 2;
              return nullptr;
          }
          int t = 0;
          bool is_minus = false;
          while(data[u] != ',')
          {
              if(data[u] == '-') is_minus = true;
              else t = t * 10 + data[u] - '0';
              u ++;
          }
          u ++;
          if(is_minus) t = -t;
          auto root = new TreeNode(t);
          root -> left = dfs_d(data, u);
          root -> right = dfs_d(data, u);
          return root;
      }
      
  • 相关阅读:
    前端资源网址
    IDEA激活工具
    新建jsp项目
    jsp笔记
    iOS的SVN
    iOS学习网站
    测试接口工具
    MVP模式
    关于RxJava防抖操作(转)
    注释模板
  • 原文地址:https://www.cnblogs.com/xiaobaizzz/p/12336783.html
Copyright © 2011-2022 走看看