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

网站文件夹命名规则百度怎么推广产品

网站文件夹命名规则,百度怎么推广产品,网站网页设计屏幕尺寸,网页版微信是什么意思class Solution { public:// 定义一个变量 maxd,用于存储当前二叉树的最大直径。int maxd 0; // 主函数,计算二叉树的直径。int diameterOfBinaryTree(TreeNode* root) {// 调用 maxDepth 函数进行递归计算,并更新 maxd。maxDepth(root);// …
class Solution {
public:// 定义一个变量 `maxd`,用于存储当前二叉树的最大直径。int maxd = 0; // 主函数,计算二叉树的直径。int diameterOfBinaryTree(TreeNode* root) {// 调用 `maxDepth` 函数进行递归计算,并更新 `maxd`。maxDepth(root);// 返回计算得到的最大直径。return maxd;}// 定义 `maxDepth` 函数,计算二叉树的深度,同时更新直径。public:int maxDepth(TreeNode* root) {// 如果当前节点为空,则返回深度为 0。if (root == nullptr) {return 0;}// 递归计算左子树的深度。int l_depth = maxDepth(root->left);// 递归计算右子树的深度。int r_depth = maxDepth(root->right);// 更新最大直径:通过当前节点的左右子树深度之和来计算路径长度。maxd = max(l_depth + r_depth, maxd);// 返回当前节点的最大深度(左右子树深度的最大值 + 当前节点)。return max(l_depth, r_depth) + 1;}
};

假设我们有一个二叉树如下:

        1

       / \

      2   3

     / \     

    4   5  

运行过程:

1. 初始化阶段:

• maxd = 0

• 调用 diameterOfBinaryTree(root),其中 root 指向节点 1。

2. 递归展开 maxDepth(root)

• 以节点 1 为根,计算左子树和右子树的深度。

左子树递归(以 2 为根):

• 调用 maxDepth(root->left),进入节点 2。

左子树的左子树递归(以 4 为根):

• 调用 maxDepth(root->left->left),进入节点 4。

• 节点 4 的左右子树为空:

• 调用 maxDepth(root->left->left->left) 返回 0。

• 调用 maxDepth(root->left->left->right) 返回 0。

• 通过节点 4 的路径长度为 0 + 0 = 0。

• maxd = max(0, maxd) = 0。

• 返回节点 4 的深度:max(0, 0) + 1 = 1。

左子树的右子树递归(以 5 为根):

• 调用 maxDepth(root->left->right),进入节点 5。

• 节点 5 的左右子树为空:

• 调用 maxDepth(root->left->right->left) 返回 0。

• 调用 maxDepth(root->left->right->right) 返回 0。

• 通过节点 5 的路径长度为 0 + 0 = 0。

• maxd = max(0, maxd) = 0。

• 返回节点 5 的深度:max(0, 0) + 1 = 1。

回到节点 2:

• 左子树深度为 1(节点 4)。

• 右子树深度为 1(节点 5)。

• 通过节点 2 的路径长度为 1 + 1 = 2。

• maxd = max(2, maxd) = 2。

• 返回节点 2 的深度:max(1, 1) + 1 = 2。

右子树递归(以 3 为根):

• 调用 maxDepth(root->right),进入节点 3。

• 节点 3 的左右子树为空:

• 调用 maxDepth(root->right->left) 返回 0。

• 调用 maxDepth(root->right->right) 返回 0。

• 通过节点 3 的路径长度为 0 + 0 = 0。

• maxd = max(0, maxd) = 2。

• 返回节点 3 的深度:max(0, 0) + 1 = 1。

回到节点 1:

• 左子树深度为 2(节点 2)。

• 右子树深度为 1(节点 3)。

• 通过节点 1 的路径长度为 2 + 1 = 3。

• maxd = max(3, maxd) = 3。

• 返回节点 1 的深度:max(2, 1) + 1 = 3。

结果:

• 最终,maxd = 3,表示二叉树的最大直径为 3。

• 返回值为 3。

递归总结:

• 每次递归调用时,我们计算左右子树的深度,并利用它们更新全局变量 maxd。

• maxDepth 返回的是当前节点的深度,而 maxd 更新的是路径长度(左深度 + 右深度)。

http://www.wangmingla.cn/news/89455.html

相关文章:

  • 罗湖网站制作公司seo排名工具给您好的建议下载官网
  • 网站空间商是什么网络营销公司
  • 科技局网站建设方案百度指数 移民
  • 公司网站做百度广告如何报税抖音怎么推广
  • 小视频网站怎么做百度电脑网页版入口
  • 网站页面布局优化最新疫情最新情况
  • 二手网站怎么做北京互联网营销公司
  • 有什么可以做兼职的网站招代理最好的推广方式
  • 如何从网站获取图片做全景图百度搜索引擎推广
  • 用axure做高保真旅游网站站长推广工具
  • 贵阳网站设计企业网站运营管理
  • 建德网站建设公司北京网络推广有哪些公司
  • 外贸推广B2B网站建设互联网推广怎么找客户
  • 如何在网站上做标记圈信息免费发布信息网站大全
  • AV91做爰免费网站上海网站营销推广
  • 网站建设有那几个类型珠海网站seo
  • 机械营销型网站seo优化网站模板
  • 做市场调研的网站找公司做网站多少钱
  • 公司网站维护由那个部门做优秀的营销案例
  • 微信公众号网站建设百度号码查询平台
  • 综合网站推广软文技巧
  • 郑州网站推广招聘郑州网站建设推广优化
  • 成都哪家做网站公司好百度秒收录神器
  • 上海设计网站合肥今日头条新闻
  • 多语言操作网站职业培训网
  • 郑州logo设计公司seo常见的优化技术
  • 做网站的流程广告公司推广
  • 网站做产品的审核吗有哪些网络推广平台
  • 网站从新建设影响收录么百度seo排名报价
  • 网站301了不知道在哪做的广东seo