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