您的位置:首页 > 其它

[LeetCode] 104 二叉树最大深度

2016-02-28 00:23 387 查看

Maximum Depth of Binary Tree(二叉树最大深度)

【难度:Easy】

Given a binary tree, find its maximum depth.

The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.

给定一个二叉树,求该树最大深度。

树的最大深度指从根节点往下到最远的叶子节点所形成的路径的节点个数。

解题思路:

根据树的结构特点,将其分为左子树和右子树两部分,根据递归先序遍历的思想将大问题转化为小问题,左右子树中深度最大的一棵即为该树结构的深度。

代码

C++代码如下:

/**
* 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 maxDepth(TreeNode* root) {
int max = 0;
if (root != NULL) {
max++;
int max_left = maxDepth(root->left);
int max_right = maxDepth(root->right);

max += max_left>max_right ? max_left:max_right;
}
return max;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: