104. Maximum Depth of Binary Tree

来源:互联网 发布:美国艾绿床垫 知乎 编辑:程序博客网 时间:2024/06/06 01:10

遍历所有可能的情况, 到了叶节点 则更新最大深度

/** * 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 {private:    int maxdepth=0;    void traverse(TreeNode *root,int prelevel)    {        if(root)        {            prelevel++;            if(!root->left&&!root->right)            {                if(prelevel>maxdepth)                {                    maxdepth=prelevel;                }            }            else if(root->left&&root->right)            {                traverse(root->left,prelevel);                traverse(root->right,prelevel);            }            else if(root->left)                traverse(root->left,prelevel);            else                 traverse(root->right,prelevel);        }    }public:    int maxDepth(TreeNode* root) {        traverse(root,0);        return maxdepth;    } };
0 0
原创粉丝点击