problem:
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
题意:输出二叉树的深度
thinking:
深度优先搜索,记录最大深度
code:
/** * 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==NULL) return 0; int max_dep=0; dfs(0,max_dep,root); return max_dep; } protected: void dfs(int dep,int &max_dep,TreeNode *node) { if(node==NULL) return; dep++; max_dep = max(max_dep,dep); if(node->left!=NULL) dfs(dep,max_dep,node->left); if(node->right!=NULL) dfs(dep,max_dep,node->right); } };
时间: 2024-07-30 08:43:28