leetcode: Maximum Depth of Binary Tree

来源:互联网 发布:电视桌面软件 编辑:程序博客网 时间:2024/06/02 00:12
#include <iostream>using namespace std;// Test Unit// Create a tree for test//            1//           / \//          2  3//         / \  \//        4  5  6//       / \//      7  8//        ///       9struct TreeNode {    int            val;    TreeNode*    left;    TreeNode*    right;    TreeNode(int x): val(x), left(NULL),right(NULL) {}};class Solution {public:        //采用DFS的思想    int maxDepth(TreeNode *root)    {        if (NULL == root)            return 0;        int l = maxDepth(root->left);        int r = maxDepth(root->right);        return l > r ? l + 1:r+1;    //以上这两种方式有一种更简便的方法    //return 1 + max(maxDepth(root->left), maxDepth(root->right));    }};int main() {    TreeNode root(1);    TreeNode t2(2);    TreeNode t3(3);    TreeNode t4(4);    TreeNode t5(5);    TreeNode t6(6);    TreeNode t7(7);    TreeNode t8(8);    TreeNode t9(9);    root.left = &t2;    root.right = &t3;    t2.left = &t4;    t2.right = &t5;    t3.right = &t6;    t4.left = &t7;    t4.right = &t8;    t8.left = &t9;    Solution s;    cout << s.maxDepth(&root) << endl;    return 0;}
0 0