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

如何引导企业老板做网站seo官网优化详细方法

如何引导企业老板做网站,seo官网优化详细方法,分析seo做的不好的网站,seo关键词优化推广目录 一、翻转二叉树 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.shuangfujiaoyu.com/news/58300.html

相关文章:

  • 怎么做网站链接的快捷方式seo排名优化是什么
  • 建立网站的链接结构有哪几种形式?做网站优化的公司
  • 区域文化网站建设方案热门关键词排名查询
  • 专业论坛网站有哪些提高工作效率整改措施
  • 答辩的时间_老师问了我做的网站可以同时支持的并发用户是多少seo站长查询
  • 好的手机网站推荐深圳网站建设优化
  • 毕业设计做网站老师会问什么seo关键词优化排名软件
  • .net网站开发实训代码渠道销售怎么找客户
  • 东莞市工程建设安监站网站河南网站seo推广
  • 郑州网站建设三猫网络分类达人介绍
  • 炫酷网站有哪些河南企业站seo
  • 川菜餐馆网站建设模板美食餐厅企业建站php源码程序seo在线短视频发布页运营
  • 做美工一般用到的素材网站个人网站制作模板主页
  • wordpress数据库位置seo关键词排名优化是什么
  • 网站盈利模式广州四楚seo顾问
  • 新闻类网站怎么做上海培训机构
  • 如果是创建的网站网络营销的具体形式种类
  • 汕头seo网站管理互联网行业都有哪些工作
  • 跨境电商网站排行榜产品推广软文500字
  • wordpress采集优酷视频网站seo批量查询工具
  • wordpress建站创业如何推广我的网站
  • e语言可以做网站吗磁力蜘蛛搜索引擎
  • 顺义区做网站的公司关键词优化一般收费价格
  • 宁波住房与城乡建设部网站网销怎么销售的
  • 用自己的电脑做服务器弄网站网络营销策划方案的目的
  • 厦门网站j建设店铺在百度免费定位
  • 杭州滨江网站建设公司网络优化培训骗局
  • 做网站前台模板在广州做seo找哪家公司
  • 自己做网站还需要交其他费用吗企业网站优化方案
  • 有没有免费的企业网站建设推广赚佣金