力扣-297题 二叉树的序列化与反序列化(C++)- dfs
题目链接:https://leetcode.cn/problems/serialize-and-deserialize-binary-tree/
题目如下:
/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/
class Codec {public:// Encodes a tree to a single string.string serialize(TreeNode* root) {//树-》数组 先序dfs(root);return res;}void dfs(TreeNode* root){if(!root){res+="None,";return ;}res+=to_string(root->val)+",";dfs(root->left);dfs(root->right);}// Decodes your encoded data to tree.TreeNode* deserialize(string data) {//数组-》树 先序deque<string> que;string str="";//将每个元素放到deque中for(int i=0;i<data.size();i++){if(data[i]==','){que.push_back(str);str="";}else str.push_back(data[i]);}return dfs1(que);}TreeNode* dfs1(deque<string>& que){if(que.front()=="None"){que.pop_front();return nullptr;}TreeNode* root=new TreeNode(stoi(que.front()));que.pop_front();root->left=dfs1(que);root->right=dfs1(que);return root;}
private:string res="";TreeNode* res1=nullptr;
};// Your Codec object will be instantiated and called as such:
// Codec ser, deser;
// TreeNode* ans = deser.deserialize(ser.serialize(root));
力扣-297题 二叉树的序列化与反序列化(C++)- dfs相关推荐
- Leetcode 297:二叉树的序列化与反序列化(超详细的解法!!!)
序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据. 请设计一个算法来实现二叉 ...
- golang力扣leetcode 297.二叉树的序列化与反序列化
297.二叉树的序列化与反序列化 297.二叉树的序列化与反序列化 题解 代码 297.二叉树的序列化与反序列化 297.二叉树的序列化与反序列化 题解 题目:给你一个二叉树,序列化从一个string ...
- 力扣刷题之二叉树的层序遍历
Welcome to you, 每日一刷系列 二叉树的层序遍历 二叉树的层序遍历II 二叉树的右视图 ...
- LeetCode Java刷题笔记—297. 二叉树的序列化与反序列化
297. 二叉树的序列化与反序列化 请实现两个函数,分别用来序列化和反序列化二叉树.这里不限定你的序列 / 反序列化算法执行逻辑,你只需要保证一个二叉树可以被序列化为一个字符串并且将这个字符串反序列化 ...
- [剑指offer]面试题第[37]题[Leedcode][JAVA][第297题][二叉树列的序列化与反序列化][递归][BFS]
[问题描述][中等] 序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据.请设 ...
- 【leetcode】二叉树,297二叉树的序列化与反序列化
297. 二叉树的序列化与反序列化 前言 题目难度:困难 一.题目描述 二.前序遍历解法 三.后序遍历解法 四.中序遍历解法 五.层级遍历解法 前言 如果你看过下面这几篇,那这道题应该对你来说信手拈来 ...
- 【LeetCode 二叉树专项】二叉树的序列化与反序列化(297)
文章目录 1. 题目 1.1 示例 1.2 说明 1.3 提示 1.4 进阶 2. 解法一(前序遍历) 2.1 分析 2.2 解答 2.3 复杂度 3. 解法二(后序遍历) 3.1 分析 3.2 解答 ...
- LeetCode 297. 二叉树的序列化与反序列化 | Python
文章目录 297. 二叉树的序列化与反序列化 题目 解题思路 代码实现 实现结果 总结 297. 二叉树的序列化与反序列化 题目来源:力扣(LeetCode)https://leetcode-cn.c ...
- 数据结构与算法--力扣109题将有序双向链表转换为二叉搜索树
将有序数组转换为二叉搜索树 近一年都比较关注算法相关的知识,也刷了不少题,之前的文章中大多也是算法相关的文章,但是感觉每次遇到树相关的题型都不能应对自如,因此还是有必要在相关知识上下功夫,因此有此次总 ...
最新文章
- VBScripts and UAC elevation(visa以后的系统)
- sortable 拖拽时互换目标的位置_报表如何实现行列互换效果?
- 保存数组类型数据_JS基本数据类型和引用数据类型的区别及深浅拷贝
- noi.ac NA535 【生成树】
- 工作几年的感想(一)
- 创建设计模式 - 工厂设计模式
- 修改 decimal 默认值为0.00 sql_书写高性能SQL语句技巧,网友都说好
- python怎么爬取知乎回答并制作词云_爬虫|爬取微博动态
- k均值的损失函数_机器学习:手撕 cross-entropy 损失函数
- 两个DIV高度自适应方法(左右两个DIV高度一样)
- 【图像去噪】基于matlab改进非局部均值红外图像混合噪声【含Matlab源码 1640期】
- 机器学习 Machine Learning- 吴恩达Andrew Ng 第21~25课总结
- 犀牛建立html格式,犀牛基础操作图文教程,教你rhino如何导出cad文件格式
- 在windows下制作grub2引导的多启动U盘(可启动wepe,安装centos7,debian10等)
- MATLAB Cholesky分解
- Node.js从入门到精通
- IOI2008 island
- 二进制与十进制转换器
- MySQL-day02作业
- xbox360 corona hacked, RGH3成功破解corona