首页 > 代码库 > 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.

提交的错误,不知道为什么,但是要自己避免。

 

C++实现代码:

#include<iostream>#include<new>#include<vector>#include<stack>using namespace std;//Definition for binary treestruct TreeNode{    int val;    TreeNode *left;    TreeNode *right;    TreeNode(int x) : val(x), left(NULL), right(NULL) {}};class Solution{public:    int maxDepth(TreeNode *root)    {        if(root)        {            if(root->left==NULL&&root->right==NULL)                return 1;            int leftDepth=maxDepth(root->left);            int rightDepth=maxDepth(root->right);            return leftDepth>= rightDepth ?(leftDepth+1):(rightDepth+1);        }        return 0;    }    void createTree(TreeNode *&root)    {        int i;        cin>>i;        if(i!=0)        {            root=new TreeNode(i);            if(root==NULL)                return;            createTree(root->left);            createTree(root->right);        }    }};int main(){    Solution s;    TreeNode *root;    s.createTree(root);    cout<<s.maxDepth(root);    cout<<endl;}

 

Maximum Depth of Binary Tree