首页 > 代码库 > 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 class Solution {2 public:3 int maxDepth( TreeNode *root ) {4 if( !root ) { return 0; }5 return max( maxDepth(root->left), maxDepth(root->right) ) + 1;6 }7 };
广度优先遍历:
1 class Solution { 2 public: 3 int maxDepth( TreeNode *root ) { 4 if( !root ) { return 0; } 5 vector<TreeNode*> nodes( 1, root ); 6 int depth = 0; 7 while( !nodes.empty() ) { 8 vector<TreeNode*> new_nodes; 9 for( auto iter = nodes.begin(); iter != nodes.end(); ++iter ) {10 if( (*iter)->left ) { new_nodes.push_back( (*iter)->left ); }11 if( (*iter)->right ) { new_nodes.push_back( (*iter)->right ); }12 }13 nodes = new_nodes;14 ++depth;15 }16 return depth;17 }18 };
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。