射洪哪里可以做网站南宁网站建公司电话号码

张小明 2026/1/19 20:37:19
射洪哪里可以做网站,南宁网站建公司电话号码,电子商务网站首页设计,电子兼职网站建设输入#xff1a; 二叉树的根节点 root。 要求#xff1a; 设计一个算法#xff0c;将二叉树序列化为一个字符串#xff0c;并且可以将该字符串反序列化为原始的树结构。不限制具体的序列化逻辑#xff08;如前序、层序等#xff09;#xff0c;只要保证“编码 - 解码…输入二叉树的根节点root。要求设计一个算法将二叉树序列化为一个字符串并且可以将该字符串反序列化为原始的树结构。不限制具体的序列化逻辑如前序、层序等只要保证“编码 - 解码”过程可逆且准确即可。输出serialize: 返回编码后的string。deserialize: 返回还原后的TreeNode*。本题很有意思序列化与反序列化然后全程只有一个字符串传递之前我们已经做到简单版的问题这一题一部分难点在于如何用string传递足够多的信息颇有点计算机的本质了就是信息的传递。采用了一种自定义的“定长编码协议”结合 BFS 来实现避免了复杂的字符串分割操作。序列化 (Serialize) - 定长编码规则使用层序遍历 (BFS)。不使用分隔符如逗号而是将每个节点的信息固定编码为7个字符的字符串片段。格式定义[符号位 1位][数值位 4位][左孩子存在标志 1位][右孩子存在标志 1位]。第1位符号。0表示正数1表示负数。第2-5位数值的绝对值不足4位前面补0已知数值范围在 -1000 到 1000 之间。第6位左孩子标记。1表示有左孩子0表示无。第7位右孩子标记。1表示有右孩子0表示无。遍历过程中如果孩子存在将其入队并在当前节点的字符串中标记为1否则标记0且不记录空节点的数据。反序列化 (Deserialize) - 双指针索引法同样利用队列进行 BFS 重建。维护两个索引模拟指针Idx指向当前正在处理的父节点在字符串中的位置索引第几个节点。Cur指向字符串中下一个待分配的数据块的位置索引。流程先解析前7个字符构建根节点入队。当队列不为空时取出队头节点对应Idx指向的数据块。读取Idx数据块的第6位和第7位左右孩子标记。如果标记为1则从Cur指向的位置读取7个字符构建子节点连接到父节点子节点入队并让Cur加 1。处理完当前节点后Idx加 1。复杂度时间复杂度O(N)序列化和反序列化都需要遍历树中所有的节点一次。空间复杂度O(N)需要使用队列进行层序遍历队列最大长度为树的一层节点数。同时需要存储序列化后的字符串长度与节点数成正比。classCodec{public:// Encodes a tree to a single string.stringserialize(TreeNode*root){if(!root)return;queueTreeNode*q;string ser;q.push(root);while(!q.empty()){intnq.size();for(inti0;in;i){TreeNode*tq.front();q.pop();if(t-val0){ser0;}else{ser1;}string valStrto_string(abs(t-val));while(valStr.length()4){valStr0valStr;}servalStr;if(t-left!nullptr){ser1;q.push(t-left);}else{ser0;}if(t-right!nullptr){ser1;q.push(t-right);}else{ser0;}}}returnser;}TreeNode*deserialize(string data){if(data){returnnullptr;}introotVal(data[1]-0)*1000(data[2]-0)*100(data[3]-0)*10(data[4]-0);if(data[0]1){rootVal-rootVal;}TreeNode*rootnewTreeNode(rootVal);queueTreeNode*q;q.push(root);intCur1;intIdx0;while(!q.empty()){intnq.size();for(inti0;in;i){TreeNode*tq.front();q.pop();if(data[Idx*75]1){intleftVal(data[Cur*71]-0)*1000(data[Cur*72]-0)*100(data[Cur*73]-0)*10(data[Cur*74]-0);if(data[Cur*7]1){leftVal-leftVal;}TreeNode*tmpnewTreeNode(leftVal);t-lefttmp;q.push(tmp);Cur;}if(data[Idx*76]1){intrightVal(data[Cur*71]-0)*1000(data[Cur*72]-0)*100(data[Cur*73]-0)*10(data[Cur*74]-0);if(data[Cur*7]1){rightVal-rightVal;}TreeNode*tmpnewTreeNode(rightVal);t-righttmp;q.push(tmp);Cur;}Idx;}}returnroot;}};
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

韩城市住房和城乡建设局网站互助盘网站开发

AVIF格式插件:让Photoshop拥抱下一代图像压缩技术 【免费下载链接】avif-format An AV1 Image (AVIF) file format plug-in for Adobe Photoshop 项目地址: https://gitcode.com/gh_mirrors/avi/avif-format 想要在Photoshop中体验AV1图像格式的强大压缩能力…

张小明 2026/1/17 18:20:41 网站建设

江门市智企互联网站建设做外贸要看哪些网站

如何在云服务器上部署PaddlePaddle镜像并连接大模型Token服务? 在当今AI应用快速落地的背景下,企业对高效、安全、可扩展的深度学习部署方案需求日益增长。尤其在中文语境下,如何快速搭建一个既能运行本地模型又能联动大模型能力的服务架构&a…

张小明 2026/1/17 18:20:42 网站建设

外包项目网站一个完整的个人网站

声音中的量子:量子声乐理论探索 1 量子与声音测量基础 量子理论中的量子态是态空间中的单位长度向量,可看作具有一定概率的值的叠加。本征态是某个算符的特征态,测量过程会使概率波坍缩到某个值,即某个算符的本征值,此时系统处于该算符的本征态。概率是量子力学的关键概念…

张小明 2026/1/17 18:20:44 网站建设

网站开发微博网站搜索优化方案

视频创作者必备:FaceFusion人脸融合工具镜像一键部署 在短视频、虚拟主播和AI内容创作席卷全球的今天,一个现实问题摆在每位创作者面前:如何用最低的成本、最短的时间,做出电影级的人脸替换效果?过去,这需要…

张小明 2026/1/17 18:20:44 网站建设

代刷网站推广全网最便宜wordpress多用户多界面

敏捷时代下的测试变革在当今快节奏的软件开发环境中,敏捷开发模式已成为主流,它强调迭代交付、持续反馈和团队协作。然而,这种模式对软件测试提出了新的挑战:测试周期缩短、需求频繁变更,以及传统测试方法的不适应性。…

张小明 2026/1/17 18:20:45 网站建设