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

网站制作定制图东莞公共资源交易中心

网站制作定制图,东莞公共资源交易中心,网站建设方案书可自行撰写,游戏网站开发有限公司1.题目要求: 给你一棵二叉树的根节点 root #xff0c;请你判断这棵树是否是一棵 完全二叉树 。在一棵 完全二叉树 中#xff0c;除了最后一层外#xff0c;所有层都被完全填满#xff0c;并且最后一层中的所有节点都尽可能靠左。最后一层#xff08;第 h 层#xff09;…1.题目要求: 给你一棵二叉树的根节点 root 请你判断这棵树是否是一棵 完全二叉树 。在一棵 完全二叉树 中除了最后一层外所有层都被完全填满并且最后一层中的所有节点都尽可能靠左。最后一层第 h 层中可以包含 1 到 2h 个节点。 2.题目代码: /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*///创建队列 typedef struct queue{struct TreeNode* data;struct queue* next; }queue_t; //入队 void push(queue_t** head,struct TreeNode* data){queue_t* newnode (queue_t*)malloc(sizeof(queue_t));newnode-data data;newnode-next NULL;if(*head NULL){*head newnode;return;}queue_t* tail *head;while(tail-next ! NULL){tail tail-next;}tail-next newnode; } //出队 struct TreeNode* pop(queue_t** head){struct TreeNode* x (*head)-data;(*head) (*head)-next;return x; } bool isCompleteTree(struct TreeNode* root) {int node_count 0;//设置结点个数int* level_travel_node (int*)malloc(sizeof(int) * 200);//记录最后一层的标记数组int j 0;int depth 0;queue_t* quence NULL;int count 1;int nextcount 0;int size 0;//层序遍历开始push(quence,root);size;node_count;while(size ! 0){depth;for(int i 0;i count;i){struct TreeNode* temp pop(quence);size--;if(temp-left ! NULL){push(quence,temp-left);size;node_count;nextcount;}if(temp-right ! NULL){push(quence,temp-right);size;node_count;nextcount;}}count nextcount;nextcount 0;}//判断结点数如果节点数为1则直接返回trueif(node_count 1){return true;}else{//如果节点数不为1则判断结点总数是否符合完全二叉树的结点范围不符合直接返回falseif(node_count (int)pow(2,depth -1)node_count ((int)pow(2,depth) - 1)){printf(%d ,node_count);int depth_t 0;size 0;count 1;int remove_line_count 0;//记录除最后一行的节点数量nextcount 0;push(quence,root);size;remove_line_count;//再次进行层序遍历一直遍历到倒数第二次位置while(size ! 0){depth_t;//判断是否为倒数第二层 if(depth_t ! depth - 1){for(int i 0;i count;i){struct TreeNode* temp pop(quence);size--;if(temp-left ! NULL){push(quence,temp-left);size;remove_line_count;nextcount;}if(temp-right ! NULL){push(quence,temp-right);size;remove_line_count;nextcount;}}count nextcount;nextcount 0;}else{//是倒数第二层后把最后一层的结点进行记录如果为空为-1不为空为1for(int i 0;i count;i){struct TreeNode* temp pop(quence);size--;if(temp-left ! NULL){level_travel_node[j] 1;j;}else{level_travel_node[j] -1;j;}if(temp-right ! NULL){level_travel_node[j] 1;j;}else{level_travel_node[j] -1;j;}}break;}}//判断除最后一层的结点数量如果不对则返回falseif(remove_line_count ! ((int)pow(2,depth - 1) - 1)){return false;}else{int i 0;for(i 0;i j;i){if(level_travel_node[i] -1){break;}}//如果-1后的结点有1则为错如果不是则为trueint j_1 i 1;for(j_1 i 1;j_1 j;j_1){if(level_travel_node[j_1] 1){return false;}}return true;}}else{return false;}} }解题步骤都在代码里了虽然比较繁琐但如果大家觉得好的话可以给个免费的赞吗谢谢了^ _ ^
http://www.w-s-a.com/news/2986493/

相关文章:

  • 网页设计制作网站模板免费WordPress目录加密
  • 怎么样用dw做网站新冠疫苗接种查询
  • 网站 免备案百度 wordpress
  • 网页设计感十足的网站遵义网站建设oadmin
  • 网站建设宣传河北省住房与城乡建设厅网站
  • 上海营销型网站自己做网络推广怎么做
  • 银川网站设计公司零基础免费学编程app
  • 昆山网站建设推广杭州手机网站开发
  • 做游戏直播那个网站个人制作网站多少钱
  • 西宁建设公司网站成都十大景观设计公司
  • 学做室内效果图的网站网站优化做网站优化
  • 网站建设需要用到的软件网易云音乐网站开发介绍
  • wordpress vipseo搜索引擎优化工资多少钱
  • 织梦网站栏目网站开发设计框图
  • 实时网站推广的最终目的是宁夏建设职业技术学院官方网站
  • 可以申请免费的个人网站吗阿里云建站售前咨询
  • 网站开发怎么人员组织深圳网站开发建设培训
  • 怎样做网站公司的销售wordpress首页静态化生成
  • 网站维护会导致打不开网页吗?知更鸟wordpress中文
  • 哈尔滨做平台网站平台公司做网站还有开发文档吗
  • 国外免费iphone网站市场监督管理局不处理问题怎么办
  • 怎么创网站qq空间怎么做网站
  • 网站建设的行业代码是多少钱江苏专业网站建设
  • 阿里云新增网站北京建机职业技能鉴定中心官网
  • 兰州建设局网站公告长沙在线注册公司
  • 建设网站的总结机关网站内容建设
  • 江苏军民融合网站建设wordpress 关闭网站
  • 网站有哪些元素组成wordpress手机实现打赏功能
  • 石家庄制作网站公司有哪些做违法网站
  • 化妆品公司的网站建设策划书wordpress自动选择添加标签页