[LeetCode] Maximum Depth of Binary Tree

来源:互联网 发布:xnview mac 破解 编辑:程序博客网 时间:2024/05/23 09:59

这道题主要想说明频繁的函数调用时非常耗时的。

/** * Definition for binary tree * struct 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 )            return 0;        else{            int maxDepthLeft = maxDepth( root->left );            int maxDepthRight = maxDepth( root->right );            return (maxDepthLeft>maxDepthRight) ? (maxDepthLeft+1) : (maxDepthRight+1);        }    }};

/** * Definition for binary tree * struct 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 )            return 0;        else{            int maxDepthLeft = maxDepth( root->left );            int maxDepthRight = maxDepth( root->right );            return max(maxDepthLeft, maxDepthRight) + 1;        }    }};


注意两段代码的第19行,第一段代码直接进行判断,第二段代码要调用max函数。执行时间如下图所示:



0 0
原创粉丝点击