题解 | #二叉树的最大深度#
二叉树的最大深度
https://www.nowcoder.com/practice/8a2b2bf6c19b4f23a9bdb9b233eefa73
/**
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
* };
*/
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param root TreeNode类
* @return int整型
*/
int maxDepth(TreeNode* root)
{
// write code here
//层序遍历计算深度
int result = 0;
if (root == NULL)
{
return result;
}
queue<TreeNode*> que;
que.push(root);
while(!que.empty())
{
int n = que.size();
result++;
for (int i = 0;i < n;++i)
{
TreeNode* node = que.front();
que.pop();
if (node->left != NULL)
{
que.push(node->left);
}
if (node->right != NULL)
{
que.push(node->right);
}
}
}
return result;
}
};
经典的层序遍历统计生深度问题。
查看11道真题和解析