TGViewer
Javascript Javascript @javascriptv · 16.9K subscribers
Post #874 2.37K
💡Задача "Подсчет хороших узлов в двоичном дереве"

Условие: дано бинарное дерево, необходимо посчитать количество качественных узлов (Х) по пути из корня до узла Х.

Качественным элементом считается такой узел, значение которого больше значения родительского узла.

Пример:

Ввод:
root = [3,1,4,3,null,1,5]
Вывод: 4
Объяснение:
*качественные узлы помечены голубым цветом на вложении.

Решение:

// Time complexity: O(n)
// Space complexity: O(n)

var goodNodes = function(root) {
let count = 0;

function dfs(root, max) {
if (root == null)
return;

if (root.val >= max) {
max = root.val;
count++;
}

dfs(root.left, max);
dfs(root.right, max);
}

dfs(root, root.val);
return count;
};

Пишите свое решение в комментариях👇

@javascriptv
  • ❤ 6
  • 👍 3
  • 🔥 2
More from @javascriptv
  1. Oct 6, 2026Arc Time Slider Это кастомный слайдер, разработанный с использованием веб-технологий HTML,…
  2. Oct 6, 2026🤺 Почему ты получаешь отказ после «норм собеса»? Дело не в знаниях — ты просто не знаешь,…
  3. Oct 5, 2026Ознакомьтесь с этими 5 советами по адаптивному веб-дизайну 👨‍💻
  4. Oct 3, 2026Импорт локальных изображений vs использование изображений из папки / public в Next.js
  5. Oct 2, 2026Совет по веб-доступности 💡 Лучший способ сделать ваши ссылки, состоящие только из иконок,…
  6. Sep 30, 2026🌐 Человек, который создал первый веб-браузер, сервер и заложил основу современного интерн…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →