数据结构(六十八)
学习数据结构与算法过程中的心得体会以及知识点的整理,方便我自己查找,也希望可以和大家一起交流。
—— 二叉树的深度 ——
1.题目描述
输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。
示例
给定二叉树 [3,9,20,null,null,15,7]
,
3
/ \
9 20
/ \
15 7
返回它的最大深度 3
。
2.代码
c
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
int maxDepth(struct TreeNode* root){
if (root == NULL)
return 0;
int len_left = maxDepth(root->left);
int len_right = maxDepth(root->right);
if(len_left > len_right)
return len_left + 1;
else
return len_right + 1;
}
求二叉树的深度应该是蛮基础的了。