Найти тему

608. Узел дерева SQL (средний)

Задача: Каждый узел в дереве может быть одного из трех типов:

  • "Leaf": если узел является конечным узлом.
  • "Root": если узел является корнем дерева.
  • "Inner": если узел не является ни конечным, ни корневым узлом.

Напишите решение для сообщения типа каждого узла в дереве.

Дано:

Решение:

select id, case

when p_id is null then 'Root'

when p_id in (select id from tree) and id in (select p_id from tree) then 'Inner'

ELSE 'Leaf'

end as type

from Tree

-2

Результат:

-3

Источник: https://leetcode.com/problems/tree-node/