leetcode: Maximum Depth of Binary Tree

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.

思路:

递归求解二叉树的深度,左右子树较深的+1(。解释主要原因:存在根节点)


实现代码:

/**
 * 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) {
        if (root==0)
        {
            return 0;
        }
        int left=maxDepth(root->left);
        int right=maxDepth(root->right);
        if(left>right)
        {
            return left+1;
        }
        else
        {
            return right+1;
        }
    }
};


posted @ 2018-02-01 08:23  llguanli  阅读(118)  评论(0)    收藏  举报