微信改版,加星标不迷路!
每日一算法-二叉树的最大深度
作者:阿广
阅读目录
? 题目
? 解析
? 完整代码
1 题目
给定一个二叉树,找出其最大深度。
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
说明: 叶子节点是指没有子节点的节点。
示例:
给定二叉树 [3,9,20,null,null,15,7]
,
3 / \ 9 20 / \ 15 7
返回它的最大深度 3 。
2 解析
直观的方法是通过递归来解决问题。在这里,我们演示了 DFS(深度优先搜索)策略的示例。方便快捷,直接使用下图进行解释!
3 完整代码
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
class Solution {
public:
int maxDept = 0;
int dept = 1;
int maxDepth(TreeNode* root) {
if(root == NULL){
return 0;
}else{
int leftHeight = maxDepth(root->left);
int rightHeight = maxDepth(root->right);
return leftHeight>rightHeight ? leftHeight + 1 : rightHeight + 1;
}
}
};
4 结果
今日问题
如何看待互联网寒冬?我们应该怎么防御?
打卡格式:打卡第n天,答:...