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

江门网站制作维护重庆网站制作公司重庆

江门网站制作维护,重庆网站制作公司重庆,投资管理公司,装备2合1合成版传奇手游1. 题目 完全二叉树是每一层#xff08;除最后一层外#xff09;都是完全填充#xff08;即#xff0c;结点数达到最大#xff09;的#xff0c;并且所有的结点都尽可能地集中在左侧。 设计一个用完全二叉树初始化的数据结构 CBTInserter#xff0c;它支持以下几种操作…1. 题目 完全二叉树是每一层除最后一层外都是完全填充即结点数达到最大的并且所有的结点都尽可能地集中在左侧。 设计一个用完全二叉树初始化的数据结构 CBTInserter它支持以下几种操作 CBTInserter(TreeNode root) 使用头结点为 root 的给定树初始化该数据结构CBTInserter.insert(int v) 将 TreeNode 插入到存在值为 node.val v 的树中以使其保持完全二叉树的状态并返回插入的 TreeNode 的父结点的值CBTInserter.get_root() 将返回树的头结点。 示例 1 输入inputs [CBTInserter,insert,get_root], inputs [[[1]],[2],[]] 输出[null,1,[1,2]]示例 2 输入inputs [CBTInserter,insert,insert,get_root], inputs [[[1,2,3,4,5,6]],[7],[8],[]] 输出[null,3,4,[1,2,3,4,5,6,7,8]]提示 最初给定的树是完全二叉树且包含 1 到 1000 个结点。 每个测试用例最多调用 CBTInserter.insert 操作 10000 次。 给定结点或插入结点的每个值都在 0 到 5000 之间。来源力扣LeetCode 链接https://leetcode-cn.com/problems/complete-binary-tree-inserter 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。 2. 解题 先按层序将树的节点放进数组并将节点之间的连接关系拆开用一个队列存储完全二叉树中的节点其子节点没插满的节点 class CBTInserter {TreeNode *r NULL;vectorTreeNode* insertNode;//存储原始树的各个节点int i, fatherVal;queueTreeNode* upperLv;//存储完全二叉树子节点没插满的节点TreeNode *tp; public:CBTInserter(TreeNode* root) {lvOrder(root);//树节点层序添加进数组并拆散待用if(r NULL){r insertNode.front();insertNode.erase(insertNode.begin());upperLv.push(r);}while(!insertNode.empty()){tp insertNode.front();insertNode.erase(insertNode.begin());upperLv.push(tp);//tp的子节点没有满if(upperLv.front()-left NULL)upperLv.front()-left tp;else//左边接上了接在右边{upperLv.front()-right tp;upperLv.pop();//左右都接好了上层的可以删了}}}int insert(int v) {fatherVal upperLv.front()-val;tp new TreeNode(v);if(upperLv.front()-left NULL)upperLv.front()-left tp;else//左边接上了接在右边{upperLv.front()-right tp;upperLv.pop();//左右都接好了上层的可以删了}upperLv.push(tp);//tp的子节点没有满return fatherVal;}TreeNode* get_root() {return r;}void lvOrder(TreeNode *root){if(root NULL)return;insertNode.clear();insertNode.push_back(root);for(i 0; i insertNode.size(); i){if(insertNode[i]-left)insertNode.push_back(insertNode[i]-left);if(insertNode[i]-right)insertNode.push_back(insertNode[i]-right);insertNode[i]-left insertNode[i]-right NULL;//拆散整棵树后面直接利用节省内存}} };
http://www.yutouwan.com/news/398816/

相关文章:

  • 哔哩哔哩网站建设分析10元云服务器
  • 做外贸用什么浏览国外网站jquery做的网站
  • 北京网站设计我选柚米wordpress 福利
  • 郑州网站建设外包业务书城网站开发的参考文献
  • 北京做家教的的网站专业做网站公司哪家好
  • 郑州网站制作工作室网页源代码修改后怎么保存
  • 诸暨市建设局网站东莞网络公司哪家最好
  • 用php做的网站用什么数据库沈阳网站备案照相
  • 好模板网站wordpress 积分购买
  • 住建设部官方网站最好的php网站开发工具
  • 广西智能网站建设企业宁夏住房和城乡建设厅网站首页
  • 什么网站做问卷好网站 体系
  • 做网站工作的怎么填职务家具行业建设网站
  • 郑州哪里有做网站wordpress 红酒
  • 做企业网站推广多少钱建筑电工证查询网站
  • 网站大全软件下载营销广告网站
  • 淄博网站制作公司推广全屋定制效果图
  • 天津网站开发培训wordpress主题制作技巧
  • 建设购物网站的目的网站 关键词 地区
  • 网站建设的公司上海帝国网站搬家
  • 泉州建设网站公司哪家好建电子商务网站注意事项
  • 西安建设网站公司哪家好网站如何制作注册
  • 小说网站建设需要什么如何查看域名服务商
  • 网站页面设计价格wordpress to joomla
  • 合肥网站公司哪家好怎么在360自己做网站
  • 建设银行官方网站首页入口wordpress添加字母验证码
  • 德州购物网站建设垂直电商平台有哪些
  • 国外网站建设品牌个人建站平台
  • 工信部网站备案文件个人年终工作总结报告
  • 广州建站快车php电子商务网站开发