求二叉树深度

#include<stdio.h>
#include<string.h>
#include <pthread.h>
#include <iostream>
#include <algorithm>
#include <vector>
#include <stack>
#include <stdlib.h>
#include <sstream>
using namespace std;

struct TreeNode {
    int val;
    struct TreeNode *left;
    struct TreeNode *right;
    TreeNode(int x) :
            val(x), left(NULL), right(NULL) {
    }
};

class Solution {
public:
    int TreeDepth(TreeNode* pRoot)
    {
        if(!pRoot)
            return 0;
        return max(1+TreeDepth(pRoot->left),1+TreeDepth(pRoot->right));
    }
};

int main()
{

    TreeNode*t1=new TreeNode(6);
    TreeNode*t2=new TreeNode(7);
    TreeNode*t3=new TreeNode(8);
    TreeNode*t4=new TreeNode(9);
    TreeNode*t5=new TreeNode(10);
    TreeNode*t6=new TreeNode(11);
    t1->left=t2;
    t1->right=t3;
    t2->left=t4;
    t2->right=t5;
    t4->left=t6;
    Solution s;
    cout<<s.TreeDepth(t1);
    return 0;

}
原文地址:https://www.cnblogs.com/bananaa/p/7550051.html