Leetcode.104 二叉树的最大深度
二叉树 深度 最大
2023-09-14 09:01:26 时间
题目链接
题目描述
给定一个二叉树,找出其最大深度。
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
示例:
给定二叉树 [3,9,20,null,null,15,7]
3
/ \
9 20
/ \
15 7
返回它的最大深度 3 。
解法:递归
我们要求一棵树的最大高度。
即,当前只有一个结点 1 + Max {左子树的最大高度 , 右子树的最大高度}
时间复杂度: O ( n ) O(n) O(n)
C++代码:
class Solution {
public:
int maxDepth(TreeNode* root) {
if(root == nullptr) return 0;
int d = max(maxDepth(root->left) , maxDepth(root->right));
return d + 1;
}
};
Python代码:
class Solution:
def maxDepth(self, root: Optional[TreeNode]) -> int:
if root == None:
return 0
return max(self.maxDepth(root.left) , self.maxDepth(root.right)) + 1
相关文章
- LeetCode 104. 二叉树的最大深度
- leetcode二叉树的层次遍历_完全二叉树的中序序列
- 111. 二叉树的最小深度
- 算法与数据结构之二叉树的遍历
- Go 数据结构和算法篇(十八):平衡二叉树
- 按之字形顺序打印二叉树
- C++ 不知树系列之认识二叉树(数组、链表存储的实现)
- 线索二叉树怎么画-1. 为什么要用到线索二叉树?
- 【数据结构-二叉树】堆(Heap)
- 数据结构实验之二叉树八:(中序后序)求二叉树的深度(SDUT 2804)
- 二叉树——堆的排序 TOP-K算法
- leetcode: 二叉树的层序遍历
- 二叉树非递归求深度详解编程语言
- 算法-二叉树的深度详解编程语言
- 算法-对称的二叉树详解编程语言
- 算法练习之二叉树的最大深度,二叉树的层次遍历 II详解编程语言
- C++二叉树结构的建立与基本操作