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

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

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;
    
};


Ответы (1 шт):

Автор решения: Superproger77

На данный момент нельзя создать тесткейс где корень дер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;
};
→ Ссылка