leetcode 104. Maximum Depth of Binary Tree - Почему неверный результат в одном из тесткейсов?

Рейтинг: 1Ответов: 1Опубликовано: 20.06.2023

При тестировании всё работает, но при попытке сабмита, на одном из тесткейсов выдаёт неверное значение. Помогите, пожалуйста, разобраться в причине.

Input: root = [null,3,-1,5,1,null,6,null,8]

Output: 5

Expected: 4

Код:

function maxDepth(root: TreeNode | null): number {
    if (!root)
        return 0;
        
    let q = [];
    let levels = 0;
    
    q.push(root)

    while (q.length) {

        for (let i = 0; i < q.length; i++) {
            const node: TreeNode = q.shift();

            if (node.left)
                q.push(node.left)
            if (node.right)
                q.push(node.right)
        }
        ++levels;
    }
    return levels;
    
};

Ответы

▲ 0

На данный момент нельзя создать тесткейс где корень дерeва имеет значение null. Имея возможность создать такой тесткейс ранее пользователь мог пройти тестирование, но при "попытке сабмита" получить ошибку.

Ошибка при создании тесткейса где корень дерева имеет значением null

Данную задачу на JavaScript можно решить так:

let maxDepth = function(root) {
    if(root === undefined || root===null){
        return 0;
    }
    return Math.max(maxDepth(root.left),maxDepth(root.right)) + 1;
};