首页 > 代码库 > Maximum Depth of Binary Tree

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 /** 2  * Definition for binary tree 3  * struct TreeNode { 4  *     int val; 5  *     TreeNode *left; 6  *     TreeNode *right; 7  *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} 8  * }; 9  */10 class Solution {11 public:12     int maxDepth(TreeNode *root) {13         vector<int> depths;14         int count = 0;15         getDepth(depths, root, count);16         17         int maxDepth = 0;18         for(vector<int>::iterator it = depths.begin(); it != depths.end(); it++)19             if(maxDepth < *it)20                 maxDepth = *it;21                 22         return maxDepth;23     }24     25     void getDepth(vector<int> &depths, TreeNode *root, int count)26     {27         if(root != NULL)28         {29             count++;30             getDepth(depths,root->left,count);31             getDepth(depths,root->right,count);32         }33         34         depths.push_back(count);35     }36 };

 

Maximum Depth of Binary Tree