当前位置: 首页 > news >正文

烟台建网站公司哪家好wordpress 获取用户id

烟台建网站公司哪家好,wordpress 获取用户id,网站和微信订阅号优势,做检测设备的网站有哪些449. 序列化和反序列化二叉搜索树 题意 给定一棵二叉搜索树#xff0c;实现序列化和反序列化#xff1b;注意 val 范围#xff0c;因此 在序列化时需要插入分隔符分割每个节点的 val#xff1b;要善于利用 二叉搜索树的特性#xff08;中序遍历 递增排序#xff09;实现序列化和反序列化注意 val 范围因此 在序列化时需要插入分隔符分割每个节点的 val要善于利用 二叉搜索树的特性中序遍历 递增排序 解法 前序遍历 中序遍历 可以重构一棵树又由于二叉搜索树自带中序遍历因此在序列化时保存前序遍历由于节点的 val 不一定是个位数所以要在序列化时插入分隔符在反序列化时首先分割字符串得到前序遍历然后通过前序遍历和中序遍历进行二叉搜索树的重构。 /*** 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:void PreOrder(TreeNode* root, string data){if(root nullptr) return;data.append(to_string(root-val) ,); // , 作为分隔符// if(root-left ! nullptr) 递归函数开头就判断了非空的情况因此这里不需要再次判断了PreOrder(root-left, data);// if(root-right ! nullptr) 递归函数开头就判断了非空的情况因此这里不需要再次判断了PreOrder(root-right, data);}// Encodes a tree to a single string.string serialize(TreeNode* root) {string res ;PreOrder(root, res);return res;}vectorint Split(string data) // 将序列化后的 string 进行分割得到每个节点的 val{int idx 0;int curS 0;vectorint ans;while(idx data.size()){if(data[idx] ,){string cur data.substr(curS, idx - curS);ans.emplace_back(stoi(cur));curS idx 1;}idx;}return ans;}TreeNode* ReconstructTree(vectorint data, int s, int t){TreeNode* root new TreeNode(data[s]);int rightIdx -1;// 没有孩子if(s t)return root;// 寻找右孩子的根for(int i s 1; i t; i){if(data[i] root-val){rightIdx i;break;}}if(rightIdx -1) // 没有右孩子{root-right nullptr;// 构建左孩子root-left ReconstructTree(data, s 1, t);}else if(rightIdx s 1) // 没有左孩子{root-left nullptr;// 构建右孩子root-right ReconstructTree(data, s 1, t);}else{// 有左孩子构建左孩子和右孩子root-left ReconstructTree(data, s 1, rightIdx - 1);root-right ReconstructTree(data, rightIdx, t);}return root;}// Decodes your encoded data to tree.TreeNode* deserialize(string data) {if(data ) return nullptr;vectorint intData Split(data);TreeNode* root ReconstructTree(intData, 0, intData.size()-1);return root;} };// Your Codec object will be instantiated and called as such: // Codec* ser new Codec(); // Codec* deser new Codec(); // string tree ser-serialize(root); // TreeNode* ans deser-deserialize(tree); // return ans;复杂度 时间复杂度O(N)序列化前序遍历每个节点反序列化也是恢复每个节点 空间复杂度O(N)存储序列化后的字符串。
http://www.sadfv.cn/news/467441/

相关文章:

  • 滁州市重点工程建设管理局网站免费网站建设排行榜
  • 网站怎么做让PC和手机自动识别深圳网站建设的基
  • 可以做外国网站文章企业网站建设排名价格
  • 电子政务 网站建设网站制作可以卖多少钱
  • 如何看一个网站的好坏如何做品牌营销
  • 网站开发软件网站开发js网站模板下载
  • 做网站云服务器2m宽带够用吗做网站须知
  • 佛山网站建设公司怎么选搜索引擎排名中国
  • 做平面设计必知的网站利用赞赏码做网站收款
  • 免费的网站软件下载网站开发培训达内
  • 淄博网站建设选择臻动传媒图片制作在线网页
  • 开个大型购物网站需要多少钱微网站怎么做的好处
  • 百度没有投放的网站点击大丰做网站建设的公司
  • 如何建立网站会员系统软件开发微信小程序
  • 网站用vps做dns爱网恋的男生
  • 网站h5什么意思大朗镇网站仿做
  • 镇江网站建设制作方案做网站优化排名
  • 企业官方网站地址wordpress 按钮特效
  • 合肥专业建设网站新手怎么做电商卖农产品
  • 网站建设课设心得软件开发技术培训班
  • 新网站一直不被收录wordpress主题开发班
  • 徐州做汽车销售的公司网站免费高清视频素材app哪里找
  • 用vs2017做网站企业推广文案范文
  • 大良营销网站建设平台做平台网站外包多少钱啊
  • dw建设网站的代码模板下载金泉网 网站建设
  • 网站建设开源节流摩托车网站建设
  • 门户网站需要多少费用网站正能量下载免费软件
  • 数据来源于网站怎么做参考文献seo服务公司上海
  • 自己做网站,为什么出现403怎么制作公众号封面图
  • 车牌照丢失能在网站做吗久久w 网