二叉树的最大深度题解
一个二叉树有左子树和右子树,那我们就要分别比较左右二叉树深度,题解如下:
1.判断树是否为空树,空树返回0
2.定义左右最大深度变量,用来接收遍历的值
3.分别遍历左子树和右子树,得出他们的深度
4.利用三目操作符进行比较,返回更大的深度,也就是树的深度
代码如下:
/*** 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 leftHeight = maxDepth(root->left);//左边深度进行递归遍历int rightHeight = maxDepth(root->right);//右边深度进行递归遍历//进行比较,返回最大深度return leftHeight > rightHeight ? leftHeight + 1 : rightHeight + 1;}