1.题目
2.解法
1.DFS
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
int maxDepth(struct TreeNode* root) {
if(!root)
return 0;
int max1 = maxDepth(root->left);
int max2 = maxDepth(root->right);
return max1 > max2 ? max1 + 1 : max2 + 1;
}
2.DFS
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
void dfs(struct TreeNode *node,int depth,int *ans)
{
if(!node)
return;
depth++;
*ans = fmax(*ans,depth);
dfs(node->left,depth,ans);
dfs(node->right,depth,ans);
}
int maxDepth(struct TreeNode* root) {
int ans=0;
dfs(root, 0,&ans);
return ans;
}
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » LeetCode第104题. 二叉树的最大深度
发表评论 取消回复