[LeetCode] Maximum Depth of Binary Tree dfs,深度搜索

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.

 

Hide Tags
 Tree Depth-first Search
 
 
  简单的深度搜索
#include <iostream>
using namespace std;
/**
 * 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 maxRet;
    int maxDepth(TreeNode *root) {
        maxRet=0;
        int curDep=1;
        help_f(root,curDep);
        return maxRet;
    }
    void help_f(TreeNode * root,int &curDep)
    {
        if(root==NULL)  return ;
        curDep++;
        help_f(root->left,curDep);
        help_f(root->right,curDep);
        curDep--;
        if(root->left==NULL&&root->right==NULL){
            if(maxRet<curDep)
                maxRet=curDep;
        }
    }
};

int main()
{
    return 0;
}
View Code

 

posted @ 2015-01-08 18:16  A_zhu  阅读(159)  评论(0编辑  收藏  举报