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

网站优化软件排名怎么把网站做二维码

网站优化软件排名,怎么把网站做二维码,西安竞价托管公司,最专业的礼品网站实例给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。 叶子节点 是指没有子节点的节点。 示例 1: 输入:root [1,2,3,null,5] 输出:["1->2->5","1->3"]示例…

给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。

叶子节点 是指没有子节点的节点。

 

示例 1:

输入:root = [1,2,3,null,5]
输出:["1->2->5","1->3"]

示例 2:

输入:root = [1]
输出:["1"]

代码:

/*** Definition for a binary树节点.* struct TreeNode {*     int val;*     struct TreeNode *left;*     struct TreeNode *right;* };*/// 定义一个常量NUM,用于表示一些数组的大小等相关操作,这里假设其值为100
#define NUM 100// 深度优先搜索函数,用于递归地遍历二叉树,构建从根节点到叶子节点的路径字符串,并将这些路径存储到path数组中
// path: 二维字符数组指针,用于存储从根节点到叶子节点的路径字符串
// temp: 字符数组,用于临时存储从根节点到当前节点的路径上的节点值(以字符形式)
// cnt: 表示当前已经存储到temp数组中的节点值的数量(索引)
// size: 指向一个整数的指针,用于记录已经存储到path数组中的路径数量,同时也作为下一个要存储路径的下标
void dfs(char **path, char *temp, struct TreeNode *root, int cnt, int *size)
{// 如果当前节点为空,说明已经遍历到树的底部或者传入的就是空树,直接返回,不进行后续操作if (root == NULL) {return;}// 将当前节点的值转换为字符形式并存储到temp数组中,然后更新cnt的值,表示已经存储的节点值数量增加了1temp[cnt++] = root->val;// 判断当前节点是否为叶子节点,即左右子节点都为空if (root->left == NULL && root->right == NULL) {// 初始化用于记录已经写入路径字符串的字符长度为0int len = 0;// 遍历temp数组中除了最后一个元素(因为最后一个元素是当前叶子节点的值,需要单独处理)之外的所有元素for (int i = 0; i < cnt - 1; i++) {// sprintf函数用于将格式化的数据写入字符串,它的返回值是写入的字符总数// &path[*size][len]表示获取path数组中第*size条路径字符串,并将指针移动到已经写入字符的末尾位置,以便后续继续拼接字符串// 将temp[i]的值格式化为字符串并拼接到path数组中第*size条路径字符串中,例如将整数3格式化为"3"然后拼接到路径字符串中len += sprintf(&path[*size][len], "%d->", temp[i]);}// 将当前叶子节点的值格式化为字符串并拼接到path数组中第*size条路径字符串的末尾,完成整个路径字符串的拼接sprintf(&path[*size][len], "%d", temp[cnt - 1]);// 更新已经存储到path数组中的路径数量,将*size的值加1,以便下一次存储路径时使用下一个下标*size += 1;// 完成当前叶子节点路径的构建和存储后,返回,继续处理其他节点return;}// 递归地调用dfs函数处理当前节点的左子节点,继续构建从根节点到左子树叶子节点的路径dfs(path, temp, root->left, cnt, size);// 递归地调用dfs函数处理当前节点的右子节点,继续构建从根节点到右子树叶子节点的路径dfs(path, temp, root->right, cnt, size);// 完成当前节点及其子节点的处理后,返回,继续处理其他节点return;
}/*** Note: The returned array must be malloced, assume caller calls free().*/// 函数binaryTreePaths用于获取二叉树从根节点到所有叶子节点的路径字符串数组
// root: 二叉树的根节点指针
// returnSize: 一个指针,用于返回路径字符串数组的大小(即存储了多少条路径字符串)
char ** binaryTreePaths(struct TreeNode* root, int* returnSize)
{// 为存储路径字符串的二维字符数组分配内存空间,假设最多有NUM条路径(根据前面定义的常量NUM)char **path = (char **)malloc(NUM * sizeof(char *));// 为二维字符数组中的每个指针所指向的字符数组分配内存空间,每个字符数组假设最多能容纳NUM个字符for (int i = 0; i < NUM; i++) {path[i] = (char *)malloc(NUM * sizeof(char));}// 定义一个字符数组temp,用于在dfs函数中临时存储从根节点到当前节点的路径上的节点值,假设最多能容纳NUM个字符char temp[NUM];// 初始化用于记录已经存储到temp数组中的节点值的数量为0int cnt = 0;// 初始化用于记录已经存储到path数组中的路径数量为0int size = 0;// 调用dfs函数开始递归地构建从根节点到所有叶子节点的路径字符串,并将结果存储到path数组中dfs(path, temp, root, cnt, &size);// 通过returnSize指针返回存储到path数组中的路径数量*returnSize = size;// 返回存储路径字符串的二维字符数组指针,调用者可以通过这个指针访问路径字符串数组中的元素,记得在使用完后要释放内存return path;
}

http://www.yayakq.cn/news/803391/

相关文章:

  • 莱州网站建设青岛华夏商务网百度小程序
  • 重庆网站的网络推广网页广告代码
  • 网站建设验收程序惠东网络建站公司
  • 网站访问找不到域名怎么回事甘肃企业模板建站信息
  • 海淀做网站好的公司wordpress商业站
  • 江阴网站制作html5手机网站源码下载
  • 常见网站性能优化手段网架有限公司
  • 静态网站的好处体育局网站建设方案
  • 北京海淀网站制作公司网站建设与维护一般需要多少钱每年
  • 景德镇市城市建设规划网站做选择的网站首页
  • 东莞模板网站制作哪家好app ui模板
  • 深圳做网站报价福州市住房和城乡建设局官网
  • 优秀网站案例网站制作能赚多少钱
  • 电商网站建设的目标wordpress免费的好么
  • 价格查询网重庆做网站优化推广的公司
  • 修文县生态文明建设局网站出色的网站设计
  • 菠菜网站怎么做推广做设计找素材的 网站有哪些
  • 聊城做网站费用大德通众包 做网站怎么样
  • 环保网站 怎么做关于申请开通网站建设的请示
  • 网站内页怎么降低网站的跳出率
  • 百度搜索什么关键词能搜到网站wordpress 新页面打开空白
  • 做app 需要先做网站吗外贸网站如何传产品
  • 网站如何做tag网站还在建设就已经可以访问了_影响后期百度
  • 阿里云购买域名后怎么建网站网站导航规划
  • 做网站和做软件一样吗代理小程序项目
  • 网站建设不挣钱百度网站建设是什么意思
  • 网站专题策划案例下载应用市场
  • 建设银行网站打印账单平台手机端网站开发
  • 北京做网站推广的公司南宁网站建设咨询云尚网络
  • 网站做视频的软件自己怎么做微信小程序网站