要求
给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 如下图所示的二叉树最大深度为5.解题思路
与94题类似,采用递归调用遍历子节点。在基本结构中,节点的最大深度等于根深度(1)加上左右较大深度,左右较大的深度可以一直递归至最小根节点。
实现代码
int maxDepth(TreeNode* root) {int depth=0;if(root){depth++;int depthLeft=0;int depthRight=0;if(root->left)depthLeft=maxDepth(root->left);if(root->right)depthRight=maxDepth(root->right);depth+=max(depthLeft,depthRight);}return depth;}