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

做网站教材班级优化大师官方网站

做网站教材,班级优化大师官方网站,wordpress对接易支付宝,女生做网站编辑好不好1.题目要求: 给定一个二叉树:struct Node {int val;Node *left;Node *right;Node *next; } 填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL 。初始状态下,所有 ne…

1.题目要求:

给定一个二叉树:struct Node {int val;Node *left;Node *right;Node *next;
}
填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL 。初始状态下,所有 next 指针都被设置为 NULL

在这里插入图片描述
2.做题步骤:
(1)先创建好队列结构体,入队函数,出队函数:

//创建队列结构体
typedef struct queue{struct TreeNode* value;struct queue* next1;
}queue_t;
//入队
void push(queue_t** head,struct Node* data){queue_t* newnode = (queue_t*)malloc(sizeof(queue_t));newnode->value = data;newnode->next1 = NULL;if(*head == NULL){*head = newnode;return;}queue_t* tail = *head;while(tail->next1 != NULL){tail = tail->next1;}tail->next1 = newnode;
}
//出队
struct Node* pop(queue_t** head){struct TreeNode* x = (*head)->value;(*head) = (*head)->next1;return x;
}

(2)设置变量,进行层序遍历:

if(root == NULL){return NULL;}int count = 1;//当前行的节点数int nextcount = 0;//下一行的结点数int size = 0;//队列的结点数量queue_t* quence = NULL;push(&quence,root);size++;//开始层序遍历while(size != 0){for(int i = 0;i < count;i++){struct Node* temp = pop(&quence);size--;if(i == count - 1){temp->next = NULL;}else{temp->next = quence->value;}if(temp->left != NULL){push(&quence,temp->left);size++;nextcount++;}if(temp->right != NULL){push(&quence,temp->right);size++;nextcount++;}}count = nextcount;nextcount = 0;}

全部代码:

/*** Definition for a Node.* struct Node {*     int val;*     struct Node *left;*     struct Node *right;*     struct Node *next;* };*/
//创建队列结构体
typedef struct queue{struct TreeNode* value;struct queue* next1;
}queue_t;
//入队
void push(queue_t** head,struct Node* data){queue_t* newnode = (queue_t*)malloc(sizeof(queue_t));newnode->value = data;newnode->next1 = NULL;if(*head == NULL){*head = newnode;return;}queue_t* tail = *head;while(tail->next1 != NULL){tail = tail->next1;}tail->next1 = newnode;
}
//出队
struct Node* pop(queue_t** head){struct TreeNode* x = (*head)->value;(*head) = (*head)->next1;return x;
}
struct Node* connect(struct Node* root) {if(root == NULL){return NULL;}int count = 1;//当前行的节点数int nextcount = 0;//下一行的结点数int size = 0;//队列的结点数量queue_t* quence = NULL;push(&quence,root);size++;//开始层序遍历while(size != 0){for(int i = 0;i < count;i++){struct Node* temp = pop(&quence);size--;if(i == count - 1){temp->next = NULL;}else{temp->next = quence->value;}if(temp->left != NULL){push(&quence,temp->left);size++;nextcount++;}if(temp->right != NULL){push(&quence,temp->right);size++;nextcount++;}}count = nextcount;nextcount = 0;}return root;
}

好了,这就是我的全部代码了,大家如果觉得好的话,给个免费的赞吧,谢谢了^ _ ^

http://www.yidumall.com/news/13982.html

相关文章:

  • php做的购物网站app推广平台排行榜
  • 福建建设厅官方网站企业网站建设的一般要素
  • 如何赌博网站做代理关键词优化哪家强
  • 哈尔滨网站建设优化公司seo黑帽是什么
  • 做网站底色怎么选注册网站域名
  • 模板网站制作多少钱小程序排名优化
  • 免费网站怎么做啊比百度好用的搜索软件手机版
  • 桌子上做嗯啊干爹网站小程序开发模板
  • 毕设DW做网站的过程google ads
  • 怎样购买网站程序app如何推广以及推广渠道
  • 中山专业门户网站制作策划网络营销师怎么考
  • 东莞做网站 9353百度经验悬赏令
  • 佛山网站建设是哪个百度广告投放平台
  • 做博彩网站判刑多少年长沙网站包年优化
  • 大丰有没有做网站西安关键词推广
  • 网站建设的过程包括几个阶段关键词seo是什么意思
  • 用废旧盒子做家用物品网站使用网站模板快速建站
  • 超低价虚拟主机网站seo基础优化
  • 网站建设进度汇报百度网站排名查询
  • 网站想做个链接怎么做百度app官网下载安装
  • 长滚动页网站怎么做seo关键词排名优化推荐
  • 如何快速优化网站排名网络seo关键词优化技术
  • 石河子网站建设公司农产品网络营销方案
  • 张家港做网站的推荐大数据查询平台
  • 优化网站的软件网站seo诊断分析
  • 南阳专业网站建设seo公司官网
  • 传统网站设计的缺点seo关键词推广案例
  • 网站建设的建议数据分析软件
  • 温州网站建设优化百度提问
  • 行业网站建设方案个人免费开发网站