本文最后更新于 2025-03-31T00:09:09+08:00
题目
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| 给定一个二叉树,找出其最大深度。
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
说明: 叶子节点是指没有子节点的节点。
示例: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回它的最大深度 3 。
|
题目思路
- 1、简单题,可以使用递归解决问题,也可以进行层序遍历,熟悉一下 BFS 的模板。
代码块。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
class Solution { public: int maxDepth(TreeNode* root) {
queue<TreeNode* > q; if (root == nullptr) return 0; q.push(root); int tmp = 0; while(q.empty() == 0) { int n = q.size(); tmp++; for(int i = 0; i < n; i++) { TreeNode* res = q.front(); q.pop(); if(res -> left != nullptr) q.push(res -> left); if(res -> right != nullptr) q.push(res -> right); } } return tmp; } };
|
复杂度
Day-13 104. 二叉树的最大深度
https://chaggle.github.io/2021/09/22/Leetcode/91-day/day-13/