《从头再来》剑指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; } };
《从头再来》

浙公网安备 33010602011771号