地址 https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/
给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 3 / 9 20 / 15 7 返回它的最大深度 3 。
解法
树的深度搜索遍历 并且多传入一个当前深度的参数
达到子节点退出
class Solution { public: int ans = -1; void dfs(TreeNode* root, int deepth) { if(root==NULL){ ans = max(ans, deepth); return; } dfs(root->left, deepth+1); dfs(root->right, deepth+1); } int maxDepth(TreeNode* root) { if (root == NULL) return 0; dfs(root->left,1); dfs(root->right, 1); return ans; } };