网站开发合同甲方的权利,抚州网络推广,厦门网站制作报价,石家庄大型网站建设给定一个二叉树 root #xff0c;返回其最大深度。
二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1#xff1a; 输入#xff1a;root [3,9,20,null,null,15,7]
输出#xff1a;3示例 2#xff1a;
输入#xff1a;root [1,null,2]
输出…给定一个二叉树 root 返回其最大深度。
二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1 输入root [3,9,20,null,null,15,7]
输出3示例 2
输入root [1,null,2]
输出2提示
树中节点的数量在 [0, 104] 区间内。-100 Node.val 100 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:int maxDepth(TreeNode* root) {if (root nullptr) {return 0;}int leftDepth maxDepth(root-left);int rightDepth maxDepth(root-right);return max(leftDepth, rightDepth) 1;}
};如果当前节点为空即root nullptr返回深度0。 对于每个非空节点分别计算其左子树和右子树的深度。调用maxDepth(root-left)和maxDepth(root-right)来获取左、右子树的深度。 返回左右子树深度的最大值再加1因为当前的根节点也算入深度中。