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

天猫网站建设的目的wordpress获取当前分类下的子分类

天猫网站建设的目的,wordpress获取当前分类下的子分类,域名维护一个年多少钱,邢台八方网络科技有限公司题目 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:3示例 2: 输入:root [1,n…

题目

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

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

示例

示例 1:

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

示例 2:

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

分析

深度优先搜索(递归)

核心思想:对于一个二叉树,它的最大深度等于其左子树和右子树的最大深度中的较大值加 1(加上当前根节点)。如果根节点为空,那么深度为 0。

时间复杂度:O(n), n 为二叉树节点的个数

空间复杂度:O(h), h 表示二叉树的高度

class Solution {
public:int maxDepth(TreeNode* root) {if (root == nullptr) {return 0;}int leftDepth = maxDepth(root->left);int rightDepth = maxDepth(root->right);return max(leftDepth, rightDepth) + 1;}
};

广度优先搜索(迭代)

核心思想:通过队列来存储每一层的节点,每遍历完一层,深度加 1。

时间复杂度:O(n), n 为二叉树节点的个数

空间复杂度:O(m),m 是二叉树中节点数最多的那一层的节点数

class Solution {
public:int maxDepth(TreeNode* root) {if (root == nullptr) {return 0;}queue<TreeNode*> nodeQueue;nodeQueue.push(root);int depth = 0;while (!nodeQueue.empty()) {int levelSize = nodeQueue.size();for (int i = 0; i < levelSize; ++i) {TreeNode* current = nodeQueue.front();nodeQueue.pop();if (current->left) {nodeQueue.push(current->left);}if (current->right) {nodeQueue.push(current->right);}}++depth;}return depth;}
};

知识充电

queue 队列

queue(队列)是一种重要的数据结构,遵循先进先出(FIFO, First-In-First-Out)的原则。

基本操作

初始化
#include <queue>
// 定义一个存储 int 类型元素的队列
std::queue<int> myQueue;
入队(push)

push 方法用于将一个元素添加到队列的尾部。

#include <iostream>
#include <queue>
int main() {std::queue<int> myQueue;// 入队操作myQueue.push(10);myQueue.push(20);myQueue.push(30);return 0;
}
出队(pop)

pop 方法用于移除队列头部的元素,但不返回该元素的值。

#include <iostream>
#include <queue>
int main() {std::queue<int> myQueue;myQueue.push(10);myQueue.push(20);myQueue.push(30);// 出队操作myQueue.pop();// 此时队列中剩下 20 和 30return 0;
}
访问头元素(front)

front 方法用于返回队列头部的元素,但不将其从队列中移除。

#include <iostream>
#include <queue>
int main() {std::queue<int> myQueue;myQueue.push(10);myQueue.push(20);myQueue.push(30);// 访问队列头部元素int frontElement = myQueue.front();std::cout << "The front element of the queue is: " << frontElement << std::endl;return 0;
}
访问尾元素(back)

back 方法用于返回队列尾部的元素,但不将其从队列中移除。

#include <iostream>
#include <queue>
int main() {std::queue<int> myQueue;myQueue.push(10);myQueue.push(20);myQueue.push(30);// 访问队列尾部元素int backElement = myQueue.back();std::cout << "The back element of the queue is: " << backElement << std::endl;return 0;
}
http://www.dtcms.com/a/448889.html

相关文章:

  • 网站程序预装wordpress echo
  • 化妆品网站的搭建网站二级页面需不需要设置关键词
  • 资源下载网站wordpress学工网站建设
  • 附近网站建设服务公司网站建设公司怎么投诉
  • 网站建设預算甘肃省建设银行校园招聘网站
  • 关于seo网站优化公司阿里巴巴电脑版网页
  • 珠海市住房和城乡建设厅网站跨境电商怎么做流程
  • 万由nas做网站网站设计为什么要域名
  • 企业门户网站什么意思怎么改网站关键词
  • 温州建设局网站首页最有效的网站推广设计
  • 各种免费源码共享网站网站建设哪些职位
  • 网站怎么做才会有收录拓者设计吧账号
  • 月子中心网站设计2345网址导航站
  • seo综合查询站长工具关键词搬家网站建设案例说明
  • 网站的策划做推广上海人才网最新招聘2021
  • 快手点赞购买网站网站建设主要内容包括
  • 手机网站建设一般要多少钱程序员培训比较好机构有哪些
  • 团购网站优化电商自建站
  • 标准型网站建设广州网站建设培训学校
  • 网站建设制作视频厦门装修公司排名前十口碑推荐
  • 网站建设的活怎么接互联网推广服务
  • wordpress页面发布失败为什么seo顾问阿亮博客
  • 制作网站什么制作软件北京动漫设计公司有哪些
  • 广州一网通注册公司手机优化如何弄到100
  • 济南网站建设培训班那个网站能找到人
  • 网站前台显示数据库指定分类怎么做phpdw2020网页设计教程
  • 手机做兼职的网站设计湖北省建设主管网站
  • 专业网站建设制网站后台设置关键词在哪设
  • 网站关键词几个字南阳建设网站制作
  • 山西门户网站建设动漫电影做英语教学视频网站有哪些