[LeetCode]Maximum Depth of Binary Tree

本文介绍了一种使用广度优先搜索(BFS)来计算二叉树最大深度的方法,并提供了一个递归版本的实现。通过这两种方法,可以有效地解决二叉树深度计算的问题。
struct TreeNode {
	int val;
	TreeNode *left;
	TreeNode *right;
	TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};

class Solution {
	//I think we can use the TreeNode.val to keep the depth, and use BFS. 
	//It can be pretty straightforward. The last processed tree node contains the max depth.
public:
	int BFS(TreeNode* root)
	{
		if(!root)
			return 0;
		else root->val = 1;
		queue<TreeNode*> q;
		q.push(root);
		while(!q.empty())
		{
			TreeNode* curNode = q.front();
			q.pop();
			if(q.empty() && !curNode->left && !curNode->right)
				return curNode->val;
			if(curNode->left)
			{
				curNode->left->val = curNode->val+1;
				q.push(curNode->left);
			}
			if(curNode->right)
			{
				curNode->right->val = curNode->val+1;
				q.push(curNode->right);
			}
		}
	}
    int maxDepth(TreeNode *root) {
        // Start typing your C/C++ solution below
        // DO NOT write int main() function
        return BFS(root);
    }
};

second time

/**
 * Definition for binary tree
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    int maxDepth(TreeNode *root) {
        // Start typing your C/C++ solution below
        // DO NOT write int main() function
        if(root == NULL) return 0;
        return max(maxDepth(root->left), maxDepth(root->right))+1;
    }
};


标题基于Spring Boot的博客系统设计与实现研究AI更换标题第1章引言介绍基于Spring Boot的博客系统的研究背景、意义、国内外现状及论文创新点。1.1研究背景与意义阐述博客系统在当前网络环境中的重要性及Spring Boot框架的优势。1.2国内外研究现状分析国内外博客系统的发展现状及Spring Boot的应用情况。1.3研究方法以及创新点概述本文采用的研究方法及在博客系统设计中的创新点。第2章相关理论总结Spring Boot框架、博客系统设计原理及相关技术。2.1Spring Boot框架基础介绍Spring Boot的核心特性、依赖管理和自动配置。2.2博客系统设计原理阐述博客系统的基本功能模块、数据流和用户交互。2.3相关技术简述数据库技术、前端技术及安全技术在博客系统中的应用。第3章博客系统需求分析对博客系统的功能需求、性能需求及用户需求进行详细分析。3.1功能需求分析列举博客系统所需的核心功能,如文章发布、评论管理等。3.2性能需求分析分析博客系统的响应时间、并发处理能力等性能指标。3.3用户需求分析调研不同用户群体对博客系统的期望和需求。第4章博客系统设计详细描述博客系统的架构设计、数据库设计及界面设计。4.1系统架构设计给出系统的层次结构、模块划分及模块间交互方式。4.2数据库设计设计数据库表结构、字段及关系,确保数据完整性和一致性。4.3界面设计设计用户友好的界面,包括文章列表、文章详情、评论区等。第5章博客系统实现阐述博客系统的开发环境搭建、功能实现及测试过程。5.1开发环境搭建介绍开发所需的软件、硬件环境及配置步骤。5.2功能实现详细描述各个功能模块的实现过程,包括代码示例。5.3系统测试对博客系统进行功能测试、性能测试及安全测试。第6章结论与展望总结博客系统的设计与实现成果,提出未来改进方向。6.1研究结论概括博客系统的主要功能、性能
最新扫码点餐外卖配送餐饮小程序系统源码 系统功能: 1.支持多平台:微信小程序,支付宝小程序,和H5平台,页面可以后台DIY管理。 2.小程序页面支持后台DIY,后台修改后即可同步到发布的小程序页面。 3.点单模式:支持堂食,外卖,打包自取。 4.下单:支持多人同时,中途加菜,退单等。 5.订单提醒:支持小程序订阅消息,公众号模板消息,小票打印。 6.结算方式:微信,支付宝,余额,餐后线下等。 7.商品管理:单,多规格,起售数量,打包费,库存销量推荐等操作。 8.门店管理:餐桌,店员,口味,云设备,二维码,wifi,预约订桌等管理。 9.会员卡:付费开会员,积分等级,等级折扣,升级赠送,卡面定制等。 10.积分签到:签到赠送积分或余额,添加签到任务等。 11.会员充值:前后台充值操作,充值套餐,充值送余额,充值送优惠券等。 12.优惠券:现金券(满减),折扣券(满折),赠送券(满赠)等 13.财务统计:实时统计,七日趋势,日统计,月统计,指定时间段统计,报表下载,打印等。 14.小票打印:易联云,飞鹅,大趋等品牌打印机。(其它可扩展) 15.第三方配送:河马跑腿,闪送,UU跑腿,顺丰同城,达达配送,码科配送(其它可扩展) 16.小票打印:易联云,飞鹅,大趋。(其它可扩展) 17.云存储:腾云,阿里,七牛(其它可扩展) 18.短信:腾云,阿里,七牛(其它可扩展) 仅供研究学习使用!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI记忆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值