Skip to content

Commit 7710cb3

Browse files
refactor 608
1 parent 44d1f51 commit 7710cb3

File tree

1 file changed

+0
-42
lines changed

1 file changed

+0
-42
lines changed

Diff for: database/_608.sql

-42
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,3 @@
1-
--608. Tree Node
2-
--Given a table tree, id is identifier of the tree node and p_id is its parent node's id.
3-
--
4-
--+----+------+
5-
--| id | p_id |
6-
--+----+------+
7-
--| 1 | null |
8-
--| 2 | 1 |
9-
--| 3 | 1 |
10-
--| 4 | 2 |
11-
--| 5 | 2 |
12-
--+----+------+
13-
--Each node in the tree can be one of three types:
14-
--Leaf: if the node is a leaf node.
15-
--Root: if the node is the root of the tree.
16-
--Inner: If the node is neither a leaf node nor a root node.
17-
--Write a query to print the node id and the type of the node. Sort your output by the node id. The result for the above sample is:
18-
--+----+------+
19-
--| id | Type |
20-
--+----+------+
21-
--| 1 | Root |
22-
--| 2 | Inner|
23-
--| 3 | Leaf |
24-
--| 4 | Leaf |
25-
--| 5 | Leaf |
26-
--+----+------+
27-
--Explanation
28-
--
29-
--Node '1' is root node, because its parent node is NULL and it has child node '2' and '3'.
30-
--Node '2' is inner node, because it has parent node '1' and child node '4' and '5'.
31-
--Node '3', '4' and '5' is Leaf node, because they have parent node and they don't have child node.
32-
--
33-
--And here is the image of the sample tree as below:
34-
-- 1
35-
-- / \
36-
-- 2 3
37-
-- / \
38-
-- 4 5
39-
--Note
40-
--
41-
--If there is only one node on the tree, you only need to output its root attributes.
42-
431
--credit: https://leetcode.com/articles/tree-node/#approach-i-using-union-accepted
442
select id, 'Root' as Type from tree where p_id is null
453
union

0 commit comments

Comments
 (0)