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

柳州网站优化在线网站seo优化

柳州网站优化,在线网站seo优化,做网站时怎样图片上传怎么才能让图片不变形_有什么插件吗,网站流量 收益代码随想录 | Day17 | 二叉树:二叉树的最大深度&&最小深度 主要学习内容: 利用前序后序层序求解二叉树深度问题 其中穿插回溯法 104.二叉树的最大深度 104. 二叉树的最大深度 - 力扣(LeetCode) 递归遍历 后序遍历 …

代码随想录 | Day17 | 二叉树:二叉树的最大深度&&最小深度

主要学习内容:

利用前序后序层序求解二叉树深度问题

其中穿插回溯法

104.二叉树的最大深度

104. 二叉树的最大深度 - 力扣(LeetCode)

递归遍历

后序遍历

1.递归函数参数和返回值

使用后序遍历一般都是上层需要使用下层函数的返回值

本道题目是返回值表示该子树的最大深度,所以为int

函数参数就是当前结点

int r(TreeNode *t)

2.确定终止条件

遇到空指针说明结束这层函数

if(t==nullptr)return 0;

3.本层逻辑

定义上

返回值是这棵子树的最大深度

所以记录左右子树的最大深度然后取最大值再加上本层就是自身的最大深度然后返回即可

		int left=r(t->left);int right=r(t->right);int res=1+max(left,right);return res;

完整代码:

class Solution {
public:int r(TreeNode *t){if(t==nullptr)return 0;int left=r(t->left);int right=r(t->right);int res=1+max(left,right);return res;}int maxDepth(TreeNode* root) {return r(root);}
}; 
class Solution {
public:int r(TreeNode *t){if(t==nullptr)return 0;return 1+max(r(t->left),r(t->right));}int maxDepth(TreeNode* root) {return r(root);}
}; 
前序遍历

其实就是回溯法

1.确定函数参数和返回值

不需要返回值,参数就是当前节点,记录最大值由全局变量完成(函数参数也可以完成,两者等价)

2.终止条件

如果当前节点左右孩子都为空说明深度就到这里为止了

3.本层处理逻辑

就是遍历本层的结点,这是二叉树所以只有左右孩子两个用两个if来表示遍历即可

(如果做过回溯篇会知道应该此处对应是for循环)

然后左不为空,深度++,继续遍历,函数结束后还原现场

然后右边一样

		if(t->left){res++;r(t->left);res--;}if(t->right){res++;r(t->right);res--;}

完整代码:

class Solution {
public:int res,result;void r(TreeNode *t){if(t->left==nullptr&&t->right==nullptr){result=max(res,result);return;}if(t->left){res++;r(t->left);res--;}if(t->right){res++;r(t->right);res--;}}int maxDepth(TreeNode* root) {res=1;result=0;if (root == NULL) return result;r(root);return result;}
}; 

层序遍历

还是套用之前的模板就行,不做过多的赘述

559.N叉树的最大深度

559. N 叉树的最大深度 - 力扣(LeetCode)

后序遍历

和刚刚思路一模一样,模仿着写就行

class Solution {
public:int r(Node *t){int depth=0;if(t==nullptr)return 0;for(auto c:t->children){int res=r(c);depth=max(depth,res+1);}return depth;}int maxDepth(Node* root) {if(root==nullptr)return 0;return r(root)+1;}
};

前序遍历

也和前面一样,差别就是前面是左右子树,而这里是for循环

class Solution {
public:int res;void r(Node *t,int depth){res=max(depth,res);for(auto c:t->children)r(c,depth+1);}int maxDepth(Node* root) {if(root==nullptr)return 0;res=0;r(root,1);return res;}
};

层序遍历

也还是套模板就行

111.二叉树最小深度

111. 二叉树的最小深度 - 力扣(LeetCode)

后序遍历

和最大深度的区别就是左孩子为空右孩子不为空和左不为空右为空的逻辑处理,剩下的都一样

class Solution {
public:int r(TreeNode *t){if (t == nullptr) return 0;int left=r(t->left);int right=r(t->right);//左为空右不为空 返回右边最小深度+1if(t->left==nullptr&&t->right!=nullptr)return right+1;//左不为空右为空 返回左边最小深度+1if(t->left!=nullptr&&t->right==nullptr)return left+1;int res=1+min(left,right);return res;}int minDepth(TreeNode* root) {if(root==nullptr)return 0;return r(root);}   
};

前序遍历

和之前一模一样

class Solution {
public:int res;void r(TreeNode *t,int depth){if(t->right==nullptr&&t->left==nullptr){res=min(depth,res);return;}if(t->left){depth++;r(t->left,depth);depth--;}if(t->right){depth++;r(t->right,depth);depth--;}}int minDepth(TreeNode* root) {if(root==nullptr)return 0;res=0x3f3f3f3f;r(root,1);return res;}   
};
http://www.hkea.cn/news/683740/

相关文章:

  • 做网站 淘宝营销策划思路
  • 网页设计要用到什么软件聊城seo优化
  • 用wordpress做网站百度推广管理
  • 一个空间可以放两个网站吗html模板网站
  • 做试用网站的原理网站推广优化平台
  • 软件工程培训机构学费亚马逊seo什么意思
  • 做恶搞网站软件有哪些苏州seo怎么做
  • 怎么做微信小说网站企业网络营销策划方案
  • 网站后台上传图片失败百度下载免费安装最新版
  • 镇江做网站需要多少钱企业网站模板设计
  • 西安seo优化系统网页seo
  • 如何用网站模板做网站广州网络营销推广
  • 承德手机网站建设seo推广排名
  • wordpress块引用一个网站可以优化多少关键词
  • 360网站卖东西怎么做的无锡seo优化公司
  • 邢台人民网站百度视频推广怎么收费
  • 常州天启建设公司网站高端快速建站
  • ppt模板免费下载网站不用登录seo测试工具
  • 四川建设人才网官网查询阜新网站seo
  • 太原网站开发定制百度网盘官网下载
  • 业主装修日记那个网站做的好片多多可以免费看电视剧吗
  • 租车网站建设站长之家源码
  • 昌吉州回族自治州建设局网站地产渠道12种拓客方式
  • 北京市网站公司网络项目免费的资源网
  • 电子商务网站规划、电子商务网站建设站长工具 忘忧草
  • 凡科建网关键词优化公司哪家好
  • seo排名推广工具seo公司多少钱
  • 做视频网站赚钱怎么在百度上推广自己的公司信息
  • 网站建设凡科厦门网站建设平台
  • 互联网行业pest分析福州百度快速优化排名