重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

leetCode104.MaximumDepthofBinaryTree二叉树问题

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;
    }
};

分享文章:leetCode104.MaximumDepthofBinaryTree二叉树问题
当前地址:http://cqcxhl.cn/article/ggjdij.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP