《从头再来》剑指offer.55I 二叉树的深度
作者:互联网
输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。
利用dfs算法一直向下找寻,直到根结点后返回。
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: //深度优先搜索来记录层数 int result; void dfs(TreeNode* root, int deepth){ if(root == nullptr) return; deepth++;//每递归一层,deepth++,然后马上更新结果的最大值 result = max(result, deepth); dfs(root->left,deepth); dfs(root->right,deepth); return; } int maxDepth(TreeNode* root) { dfs(root,0); return result; } };
《从头再来》
标签:TreeNode,int,dfs,deepth,二叉树,从头再来,offer.55,root,result 来源: https://www.cnblogs.com/azie420/p/14860682.html