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.

分析:这一题是说求出二叉树的最大深度,很显然我们会想到递归,很容易实现。

/**

 * Definition for binary tree

 * 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==NULL)

            return 0;

        int pleft=maxDepth(root->left);

        int pright=maxDepth(root->right);

        return (pleft>pright)?pleft+1:pright+1;

    }

};

注意,不要忘记+1.

python实现:

# Definition for a  binary tree node

# class TreeNode:

#     def __init__(self, x):

#         self.val = x

#         self.left = None

#         self.right = None



class Solution:

    # @param root, a tree node

    # @return an integer

    def maxDepth(self, root):

        if root==None:

            return 0

        nLeft=self.maxDepth(root.left)

        nRight=self.maxDepth(root.right)

        if nLeft>nRight:

            return nLeft+1

        else:

            return nRight+1

 

你可能感兴趣的:(binary)