Dada uma árvore binária, encontre sua profundidade máxima. A profundidade de uma árvore binária é o número de nós no caminho mais longo do nó raiz até o nó folha mais distante. Explicação: Um nó folha é um nó que não possui nós filhos. 【LeetCode Hot 100】

Pergunta 104 das perguntas mais quentes 100:

class Solution {
    public int maxDepth(TreeNode root) {
        //当root为null时,二叉树长度为0
        if(root == null){
            return 0;
        }
        //当root左右子树都不为null,整棵树最大长度为左右子树长度的最大值+1;
        return 1 + Math.max(maxDepth(root.left),maxDepth(root.right));
    }
}

Análise de ideias: Ao fazer este tipo de problema, você deve aprender a converter grandes problemas em pequenos problemas. Por exemplo, neste problema, se você pedir a profundidade máxima de uma árvore binária, você pode transformá-la em encontrar a profundidade máxima de sua subárvore + 1, quando sua subárvore Quando é um nó folha, a profundidade é 1, e quando a subárvore está vazia, a profundidade é 0.

Mas a profundidade da árvore esquerda não pode ser sobreposta com a profundidade da árvore direita, então temos que pegar seu valor máximo e então podemos usar a recursão para resolvê-lo.

Acho que você gosta

Origin blog.csdn.net/weixin_56960711/article/details/123338548
Recomendado
Clasificación