[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
原文地址:https://www.cnblogs.com/Azhu/p/4211652.html