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

网站建设费怎么入账燕郊网站建设

网站建设费怎么入账,燕郊网站建设,如何建立,做网站 除了域名优质博文:IT-BLOG-CN 一、题目 给定一个二叉树root,返回其最大深度。 二叉树的最大深度是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:3 示例 2&#xff1a…

在这里插入图片描述

优质博文:IT-BLOG-CN

一、题目

给定一个二叉树root,返回其最大深度。

二叉树的最大深度是指从根节点到最远叶子节点的最长路径上的节点数。

示例 1:

输入:root = [3,9,20,null,null,15,7]
输出:3

示例 2:
输入:root = [1,null,2]
输出:2

树中节点的数量在[0, 104]区间内。
-100 <= Node.val <= 100

二、代码

【1】深度优先搜索: 如果我们知道了左子树和右子树的最大深度lr,那么该二叉树的最大深度即为max(l,r)+1。而左子树和右子树的最大深度又可以以同样的方式进行计算。因此我们可以用「深度优先搜索」的方法来计算二叉树的最大深度。具体而言,在计算当前二叉树的最大深度时,可以先递归计算出其左子树和右子树的最大深度,然后在O(1)时间内计算出当前二叉树的最大深度。递归在访问到空节点时退出。

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public int maxDepth(TreeNode root) {// 递归计算数的深度,确定递归的推出条件if (root == null) {return 0;} else {int leftHight = maxDepth(root.left);int rightHight = maxDepth(root.right);return Math.max(leftHight,rightHight) + 1;}}
}

复杂度分析:
1、时间复杂度: O(n)其中n为二叉树节点的个数。每个节点在递归中只被遍历一次。
2、空间复杂度: O(height)其中height表示二叉树的高度。递归函数需要栈空间,而栈空间取决于递归的深度,因此空间复杂度等价于二叉树的高度。

【2】广度优先搜索: 我们也可以用「广度优先搜索」的方法来解决这道题目,但我们需要对其进行一些修改,此时我们广度优先搜索的队列里存放的是当前层的所有节点。每次拓展下一层的时候,不同于广度优先搜索的每次只从队列里拿出一个节点,我们需要将队列里的所有节点都拿出来进行拓展,这样能保证每次拓展完的时候队列里存放的是当前层的所有节点,即我们是一层一层地进行拓展,最后我们用一个变量ans来维护拓展的次数,该二叉树的最大深度即为ans

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public int maxDepth(TreeNode root) {if (root == null) {return 0;}Queue<TreeNode> queue = new LinkedList<TreeNode>();// 先存放root节点queue.offer(root);// 总长度int maxLen = 0;// 开启循环,并确定退出循环的条件while (!queue.isEmpty()) {// 获取当前队列的长度,确定该层遍历的次数int size = queue.size();// 我们需要遍历当前层的所有 treeNode// 确定循环条件,并确定退出条件while (size > 0) {TreeNode treeNode = queue.poll();if (treeNode.left != null) {// 注意:添加的时左节点,而不是当前节点queue.offer(treeNode.left);}if (treeNode.right != null) {queue.offer(treeNode.right);}--size;}++maxLen;}return maxLen;}
}

复杂度分析:
1、时间复杂度: O(n)其中n为二叉树的节点个数。与方法一同样的分析,每个节点只会被访问一次。
2、空间复杂度: 此方法空间的消耗取决于队列存储的元素数量,其在最坏情况下会达到O(n)

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

相关文章:

  • 网站开发项目安排深圳微信公众号开发
  • 网站建设改手机号邯郸信息港恋家网
  • php网站好做seoWordPress动漫风CMS
  • 网站 上传文件本网站维护升级
  • 做个简单的网站多少钱网站建设dede
  • 中型网站流量网站建设费 大创
  • 企业网站建设一般考虑哪些因素网页表格设计模板
  • 福建省建设厅网站劳保核定卡商丘网吧什么时候恢复营业
  • 创建网站的目的是什么郑州网站营销推广公司
  • 阿里云做网站多少钱怎么做网站淘宝转换工具
  • 家庭网络搭建网站深圳高端网站定制
  • 免费推广网站翻译英文房地产网站大全
  • 网站正能量视频不懂我意思吧电子商务网站建设实习
  • 河南建设厅网站首页苏州高端网站建设咨询
  • 建网站需要哪些资质哪个网站可以做私单
  • 在线旅游网站平台有哪些青海手机网站建设
  • 网站店招用什么软件做的网站与网页的区别与联系
  • 重庆多语网站建设品牌企业广东东莞房价2022最新价格
  • 做商贸网站可以做配音兼职的网站
  • wordpress描述代码外链seo软件下载
  • 网站开发公司合作协议书网站开发毕设ppt
  • dw网站模板免费霍山有没有做建网站的
  • 做网站的程序搬瓦工 wordpress
  • wordpress网页打开慢亚马逊seo什么意思
  • 腾讯云建设个人网站电子商务法
  • 长沙市天心建设局网站湖南省住房建设厅网站
  • 吕梁做网站的公司外贸品牌网站建设
  • 做淘客网站企业备案网络营销策划推广
  • 手机电影网站源码模板太原做网络推广
  • 友情链接网站免费中国建设银行青海省分行网站