Leetcode MySQL Tree Node

업데이트:

문제

Link

코드

# Write your MySQL query statement below
SELECT DISTINCT Tree.id,
  CASE WHEN Tree.p_id IS NULL THEN 'Root'
    WHEN Tree.p_id IS NOT NULL AND Children.id IS NOT NULL THEN 'Inner'
    WHEN Tree.p_id IS NOT NULL AND Children.id IS NULL THEN 'Leaf'
  END AS Type
FROM Tree
LEFT OUTER JOIN Tree Children ON Tree.id = Children.p_id

결과

Link

설명

  1. Tree 테이블 내 각 노드의 형태를 반환하는 문제이다.
    • Tree의 가장 꼭데기인 첫 노드를 “Root”로 반환한다.
    • Root가 아닌 자녀가 존재하는 중간에 있는 노드를 “Inner”로 반환한다.
    • Root가 아닌 자녀가 없는 노드를 “Leaf”로 반환한다.

댓글남기기