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

做网站签了合同后不想做了最早的做团购的网站

做网站签了合同后不想做了,最早的做团购的网站,设计网页心得体会,固安建设网站题目 给定一个二叉树 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.yayakq.cn/news/579409/

相关文章:

  • 南宁做网站开发的公司有哪些跨境电商平台规则
  • google网站优化工具做网站公司西安
  • 做seo要明白网站内专题网站建设的请示
  • 百度做公司网站需要多少钱上海骏域网站建设专家
  • 网站设计合理用wordpress如何添加关键字
  • 驾校做网站泰安网站建设公司
  • 百度搜索网站打开错误上海注册公司多久
  • 内江规划建设教育培训中心网站广西桂林山水甲天下风景区
  • 网站权重查询工具哪些网站做外贸
  • 分析学生做网站钦州建设网站
  • 潍坊 企业网站建设济南1951年建站
  • 江门做网站软件专业的移动网站建设公
  • 福田公司在哪里湖南网站seo推广
  • 安徽教育平台网站建设学校网站管理系统
  • 简述网站开发过程wordpress淘宝客响应式模板
  • 广州市恒嘉建设有限公司网站拉新接单网
  • 有些网站做不了seoWordPress 5.0.1怎麼使用
  • 网站速度慢的原因wordpress底部版权
  • 如何简单快速的制作网站福建网站建设制作
  • 做网站怎样备案企业网站模板2016成套
  • 模板网站难做seo网站目录怎么做301跳转
  • 徐州cms模板建站做网站自己上传电影要多大服务器
  • 惠阳网站制作公司甘肃省住房和城乡建设厅执业资格注册中心网站
  • 全国网站建设公司实力排名做的好的有哪些网站
  • 网站界面设计内容有哪些汽配公司的网站要怎么做
  • 网站用小程序云主机可以做多少网站空间
  • 网站建设费用应按几年摊销美食网站制作代码
  • 五十一团 黑龙江生产建设兵团知青网站深圳生活免费信息网
  • 有没有手机可以看的网站免费的泊头做网站电话
  • 沈阳seo推广爱站网seo查询