[剑指offer] 二叉树的深度(C++解法)
程序员文章站
2022-07-14 18:08:21
...
输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。
例如:
给定二叉树 [3,9,20,null,null,15,7],
3
/ \
9 20
/ \
15 7
返回它的最大深度 3 。
提示:
节点总数 <= 10000
C++递归解法
/**
* 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 maxDepth(TreeNode* root) {
if (root == NULL) return 0;
int left = maxDepth(root->left);
int right = maxDepth(root->right);
return max(left, right) + 1;
}
};
上一篇: [剑指offer] 二叉搜索树的第k大节点(C++解法)
下一篇: Objective-C里的字符串
推荐阅读
-
[算法练习-剑指offer]题18.二叉树的镜像(Java)
-
剑指offer之队列中的最大值(C++/Java双重实现)
-
力扣OJ 剑指 Offer 68 - II. 236. 二叉树的最近公共祖先
-
剑指 Offer 07. 重建二叉树——【前中序】和【中后序】重建二叉树的递归思路详解
-
剑指 Offer 55 - I. 二叉树的深度——DFS+BFS解题
-
leetcode中剑指offer的习题 C++语言实现(2)
-
leetcode 113 剑指offer 面试题34. 二叉树中和为某一值的路径(python3)
-
leetcode中剑指offer的习题 C++语言实现(1)
-
剑指offer——二叉树的镜像
-
【剑指offer刷题】--树--二叉树的镜像