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

如何引导企业老板做网站seo优化排名服务

如何引导企业老板做网站,seo优化排名服务,龙岗区疫情最新情况,androidstudio使用教程目录 一、翻转二叉树 1.1 题目链接 1.2 题目描述 1.3 解题思路 二、二叉树最大深度 2.1 题目链接 2.2 题目描述 2.3 解题思路 三、二叉树中序遍历 3.1 题目链接 3.2 题目描述 3.3 解题思路 一、翻转二叉树 1.1 题目链接 翻转二叉树 1.2 题目描述 1.3 解题思路 根…

目录

一、翻转二叉树

1.1 题目链接

1.2 题目描述

1.3 解题思路

二、二叉树最大深度

2.1 题目链接

2.2 题目描述

2.3 解题思路

三、二叉树中序遍历

3.1 题目链接

3.2 题目描述

3.3 解题思路


一、翻转二叉树

1.1 题目链接

翻转二叉树

1.2 题目描述

1.3 解题思路

根据题目,很显然得出我们就只需要交换除了根的节点的左右孩子。我们这里采用递归解决问题,那么递归的结束条件又是什么呢?当该节点是空节点时就结束。思路就是这样,我们来动手实现一下。

 struct TreeNode 
{int val;struct TreeNode *left;struct TreeNode *right;
};struct TreeNode* invertTree(struct TreeNode* root) 
{if(root == NULL)return NULL;struct TreeNode* temp = root->left;root->left = root->right;root->right = temp;if(root->left)invertTree(root->left);if(root->right)invertTree(root->right);return root;
}

二、二叉树最大深度

2.1 题目链接

二叉树最大深度

2.2 题目描述

2.3 解题思路

在上面解决翻转二叉树问题时,我们就用到了递归。在解决二叉树的题目通常都会使用到递归,大家要好好的复习一下递归。我们把这颗二叉树拆解成根和左右子树,后面把左右子树也当作根来继续拆解,直到根为空节点时,就不再进行拆解。递归的结束条件就是根为空节点,因为是最大深度所以我们需要比较左右子树的高度,我们可以定义一个指针来计入高度(为什么用指针,因为要改变计数器要影响到外面,那为什么不用全局变量呢?全局变量比较麻烦),也可以采用另外一种。本人比较懒就采用了另外一种。

struct TreeNode 
{int val;struct TreeNode *left;struct TreeNode *right;
};int maxDepth(struct TreeNode* root) 
{if(root == NULL)return 0;int left = maxDepth(root->left);int right = maxDepth(root->right);return left > right? left+1:right+1;
}

三、二叉树中序遍历

3.1 题目链接

二叉树中序遍历

3.2 题目描述

3.3 解题思路

还是老样子采用递归来解决,首先我们要知道中序是什么,中序是先遍历 左子树、根、再到右子树,根据题目知道我们要返回遍历并且计入了中序顺序的二叉树。只有完全二叉树和满二叉树我们才会采用数组进行实现,一般情况我们都是采用链表的结构来实现二叉树,那我们就需要开辟空间了。我们就会存在一个问题应该开辟多少空间合适呢?可以和之前实现单向链表一样开辟一点点后续不够继续申请空间,这里我有一个不一样的方法那就是我们计算得到有多少个节点就开辟多少个空间。struct TreeNode* root, int* returnSize 题目给了我们两个参数其中一个是二叉树,那另外一个参数有什么用呢?,我感觉int* returnSize是类似一个计数的参数。因为要返回遍历并且计入了中序顺序的二叉树,所以我们可以定义一个数组来储存。那我们就需要封装成另外一个函数来实现了 void preorder(struct TreeNode* root, int* res ,int* returnSize)函数目的实现中序遍历后的储存数据。我们要好好的体会一下,中序遍历的写法 左子树 、根 、右子树。

计算二叉树节点个数:

int TreeSize(struct TreeNode* root)//计算二叉树节点个数
{return root == NULL ? 0 :TreeSize(root->left) + TreeSize(root->right) + 1;
}

实现中序遍历后的储存数据:

void preorder(struct TreeNode* root, int* res ,int* returnSize)
{if(root == NULL){return;}preorder(root->left, res ,returnSize);//左res[(*returnSize)++]=root->val;//根preorder(root->right, res ,returnSize);//右
}

 

void preorder(struct TreeNode* root, int* res ,int* returnSize)
{if(root == NULL){return;}preorder(root->left, res ,returnSize);//左res[(*returnSize)++]=root->val;//根preorder(root->right, res ,returnSize);//右
}int TreeSize(struct TreeNode* root)
{return root == NULL ? 0 :TreeSize(root->left) + TreeSize(root->right) + 1;
}int* inorderTraversal(struct TreeNode* root, int* returnSize) 
{int size = TreeSize(root);int* res = malloc(sizeof(int) * size);*returnSize = 0;preorder(root, res, returnSize);return res;
}

http://www.mmbaike.com/news/99112.html

相关文章:

  • 如何做网站授权网址广州网站seo公司
  • 专做网页的网站百度关键字排名软件
  • 徐州建筑工程招投标网站爱站网官网
  • 杭州公司网站制作维护网络营销网站建设案例
  • 建网站能赚钱吗赚多少拉人头最暴利的app
  • 店铺设计网站推荐seo网页优化平台
  • 网站dns解析设置品牌线上推广方式
  • java web做网站的优势描述优化方法
  • 做购物网站费用百度引流推广费用多少
  • 淘宝店铺买卖网国内最好的seo培训
  • 个人网站可以做app吗泉州seo外包
  • 专业高端网站建设网络营销岗位技能
  • 做 淘宝客最大的网站是叫什么如何开展网络营销
  • 淘宝类网站开发点击排名软件哪个好
  • 那一个网站可以教做甜品的专业推广图片
  • b2b国际贸易商务网站网络培训心得
  • 广州网站建设优化seo推广薪资
  • 快速网站备案多少钱怎么样把自己的产品网上推广
  • 做网站销售大概多少钱互联网广告
  • 长春建站软件百度电脑版网页
  • 怎么做网站的动效买链接网
  • 深圳网站建设lxhdseo网站快速整站优化技术
  • 动态网站开发课程设计实训报告百度推广客户端下载安装
  • 企业做网站用什么建站系统济南网络推广公司电话
  • 手机端网站设计制作案例中国公关公司前十名
  • 无锡网站制作厂家地址seo是什么意思如何实现
  • 浦口区建设中学网站郑州粒米seo外包
  • java怎么做直播网站网络建站公司
  • 做网站的公司主要做shm全网营销整合推广
  • 青岛专业建设网站搜索推广开户