104. Maximum Depth of Binary Tree

创新互联从2013年创立,先为河源等服务建站,河源等地企业,进行企业商务咨询服务。为河源企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
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.
同Minimum Depth of Binary Tree求解类似。 http://qiaopeng688.blog.51cto.com/3572484/1835237
代码如下:
/**
* 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) {
int iMaxDepth = 0;
vector depths;
stack s;
TreeNode *p,*q;
q = NULL;
p = root;
if(!root)
return 0;
while(p != NULL || s.size() > 0)
{
while( p != NULL)
{
s.push(p);
p = p->left;
}
if(s.size() > 0)
{
p = s.top();
if( NULL == p->left && NULL == p->right)
{
if(iMaxDepth < s.size())
iMaxDepth = s.size();
}
if( (NULL == p->right || p->right == q) )
{
q = p;
s.pop();
p = NULL;
}
else
p = p->right;
}
}
return iMaxDepth;
}
};

售后响应及时
7×24小时客服热线
数据备份
更安全、更高效、更稳定
价格公道精准
项目经理精准报价不弄虚作假
合作无风险
重合同讲信誉,无效全额退款