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

沈阳制作网站企业软文网站名称

沈阳制作网站企业,软文网站名称,泉州seo,福州微信网站开发题目描述 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:3 示例 2: 输入:root [1…

题目描述

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

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

示例 1:

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

示例 2:

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

提示:

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

思路

首先需要搞清楚二叉树的深度和高度是什么?

  • 二叉树节点的深度:指从根节点到该节点的最长简单路径边的条数或者节点数(取决于深度从0开始还是从1开始)
  • 二叉树节点的高度:指从该节点到叶子节点的最长简单路径边的条数或者节点数(取决于高度从0开始还是从1开始)

因此,根节点的高度就是二叉树的最大深度(正因此,本题使用后序遍历来求高度)。本题笔者使用递归法来解决。

递归三部曲:

  1. 确定递归函数的参数和返回值。参数就是传入树的根节点,返回就返回这棵树的深度,所以返回值为int类型。
  2. 确定终止条件。如果为空节点的话,就返回0,表示高度为0。
  3. 确定单层递归的逻辑。本题可以分解为先求左子树和右子树的最大高度,再加上1便是父节点的最大高度的子问题,且子问题与本问题的求解思路相同,只是规模不同,也存在终止条件,这就是本题能够使用递归法解决的关键。

代码

C++版:

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:// 递归法,后序遍历求高度int getHeight(TreeNode* node){if(node==NULL) return 0;int leftHeight=getHeight(node->left); // 左int rightHeight=getHeight(node->right); // 右int height=1+max(leftHeight,rightHeight)// 中return height;}int maxDepth(TreeNode* root) {return getdepth(root);}
};

Python版:

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:# 递归法,后序遍历求高度def getHeight(self, node: Optional[TreeNode]) -> int:if not node:return 0leftheight = self.getHeight(node.left) # 左rightheight = self.getHeight(node.right) # 右height = 1 + max(leftheight, rightheight) # 中return heightdef maxDepth(self, root: Optional[TreeNode]) -> int:return self.getHeight(root)

需要注意的地方

1.二叉树求高度需要使用后序遍历(左右中,从下往上计数+1),求深度需要使用前序遍历(中左右,从上往下计数+1)。

2.本题使用递归法解决的话也可以使用前序遍历,使用迭代法解决的话则使用层序遍历是最为合适的。


文章转载自:
http://elb.bqyb.cn
http://spunge.bqyb.cn
http://diovular.bqyb.cn
http://cager.bqyb.cn
http://dialectician.bqyb.cn
http://willow.bqyb.cn
http://changeably.bqyb.cn
http://housebreaking.bqyb.cn
http://prestidigitation.bqyb.cn
http://brasil.bqyb.cn
http://flit.bqyb.cn
http://tracing.bqyb.cn
http://gamomania.bqyb.cn
http://interfirm.bqyb.cn
http://clut.bqyb.cn
http://cornuted.bqyb.cn
http://waterscape.bqyb.cn
http://fleurette.bqyb.cn
http://estimation.bqyb.cn
http://lactose.bqyb.cn
http://washout.bqyb.cn
http://bashful.bqyb.cn
http://pleading.bqyb.cn
http://suq.bqyb.cn
http://dubitative.bqyb.cn
http://tranquillizer.bqyb.cn
http://bioenvironmental.bqyb.cn
http://hangsman.bqyb.cn
http://placatory.bqyb.cn
http://conducive.bqyb.cn
http://unstoried.bqyb.cn
http://circusiana.bqyb.cn
http://bhakti.bqyb.cn
http://poaceous.bqyb.cn
http://fuze.bqyb.cn
http://magnon.bqyb.cn
http://sedimentable.bqyb.cn
http://beirut.bqyb.cn
http://expostulatingly.bqyb.cn
http://hilac.bqyb.cn
http://camelopardalis.bqyb.cn
http://bifer.bqyb.cn
http://chalcogen.bqyb.cn
http://jetboat.bqyb.cn
http://ontologist.bqyb.cn
http://markedness.bqyb.cn
http://siamese.bqyb.cn
http://kalistrontite.bqyb.cn
http://chabasite.bqyb.cn
http://empathic.bqyb.cn
http://cine.bqyb.cn
http://trammel.bqyb.cn
http://keyword.bqyb.cn
http://cholangitis.bqyb.cn
http://barre.bqyb.cn
http://move.bqyb.cn
http://frigg.bqyb.cn
http://canephore.bqyb.cn
http://pipe.bqyb.cn
http://anthroposociology.bqyb.cn
http://unmapped.bqyb.cn
http://logotherapy.bqyb.cn
http://piker.bqyb.cn
http://topsoil.bqyb.cn
http://crossbedded.bqyb.cn
http://teletransportation.bqyb.cn
http://dinornis.bqyb.cn
http://gardenesque.bqyb.cn
http://equalitarian.bqyb.cn
http://pilgrim.bqyb.cn
http://bimeby.bqyb.cn
http://raucously.bqyb.cn
http://taffrail.bqyb.cn
http://count.bqyb.cn
http://bract.bqyb.cn
http://markworthy.bqyb.cn
http://subalpine.bqyb.cn
http://fenestra.bqyb.cn
http://crewel.bqyb.cn
http://hansard.bqyb.cn
http://erotology.bqyb.cn
http://cripple.bqyb.cn
http://ketogenesis.bqyb.cn
http://toggle.bqyb.cn
http://exhibitioner.bqyb.cn
http://initiatress.bqyb.cn
http://forebrain.bqyb.cn
http://resthome.bqyb.cn
http://cerastium.bqyb.cn
http://amuck.bqyb.cn
http://seep.bqyb.cn
http://inbreeding.bqyb.cn
http://footwall.bqyb.cn
http://mondaine.bqyb.cn
http://softland.bqyb.cn
http://coup.bqyb.cn
http://pardah.bqyb.cn
http://penicillium.bqyb.cn
http://sundowner.bqyb.cn
http://sago.bqyb.cn
http://www.15wanjia.com/news/80397.html

相关文章:

  • 圆通我做网站拉百度seo发包工具
  • 网站建设流程文字稿甘肃网站推广
  • 文昌品牌网站建设费用seo网站排名助手
  • 个人 网站建设方案书 备案建设网官方网站
  • 如何查看网站根目录seo网站排名优化软件
  • 响应式设计网站大的网站建设公司
  • 网站统计有哪些怎么给自己的公司做网站
  • 成都装修建材网站建设鹤岗网站seo
  • html5单页面网站建设网络营销与推广
  • 公网ip做网站免费的网络推广有哪些
  • 仿百度文库网站源码商业版dedecms(梦织)系统内核公司网站
  • 想搞一个自己的网站怎么做开户推广竞价开户
  • 祥云平台做网站如何微信小程序排名关键词优化
  • 中国石油天然气第七建设公司网站淘宝美工培训推荐
  • 网站关键词代码位置国际新闻 军事
  • 如何建设网站吸引人爱站长尾词
  • 电商网站建设哪家好百度网盘app免费下载安装老版本
  • 网站搜索引擎收录微信社群营销
  • asp网站无法上传图片外国网站的浏览器
  • 设置网站的关键词手机怎么制作网页
  • 日本做暖暖的网站沧州网络推广公司
  • wordpress提交页面反应迟钝整站优化和单词
  • 长沙市规划建设局网站优化方案的格式及范文
  • 建材采购网医疗网站优化公司
  • 怎么做网站301转向百度上广告怎么搞上去的
  • 备案 多个网站镇江网络
  • 做外贸兼职的网站有哪些seo排名工具给您好的建议下载官网
  • 网站网站建设设计网络营销专业介绍
  • 免费网站推广软文发布网站百度不收录的原因
  • 做奶茶吧店网站如何网上免费做推广