Задача: Каждый узел в дереве может быть одного из трех типов:
- "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
Результат:
Источник: https://leetcode.com/problems/tree-node/