{
    "data": {
        "question": {
            "questionId": "608",
            "questionFrontendId": "608",
            "boundTopicId": null,
            "title": "Tree Node",
            "titleSlug": "tree-node",
            "content": "<p>Table: <code>Tree</code></p>\n\n<pre>\n+-------------+------+\n| Column Name | Type |\n+-------------+------+\n| id          | int  |\n| p_id        | int  |\n+-------------+------+\nid is the primary key column for this table.\nEach row of this table contains information about the id of a node and the id of its parent node in a tree.\nThe given structure is always a valid tree.\n</pre>\n\n<p>&nbsp;</p>\n\n<p>Each node in the tree can be one of three types:</p>\n\n<ul>\n\t<li><strong>&quot;Leaf&quot;</strong>: if the node is a leaf node.</li>\n\t<li><strong>&quot;Root&quot;</strong>: if the node is the root of the tree.</li>\n\t<li><strong>&quot;Inner&quot;</strong>: If the node is neither a leaf node nor a root node.</li>\n</ul>\n\n<p>Write an SQL query to report the type of each node in the tree.</p>\n\n<p>Return the result table <strong>ordered</strong> by <code>id</code> <strong>in ascending order</strong>.</p>\n\n<p>The query result format is in the following example.</p>\n\n<p>&nbsp;</p>\n<p><strong>Example 1:</strong></p>\n<img alt=\"\" src=\"https://assets.leetcode.com/uploads/2021/10/22/tree1.jpg\" style=\"width: 304px; height: 224px;\" />\n<pre>\n<strong>Input:</strong> \nTree table:\n+----+------+\n| id | p_id |\n+----+------+\n| 1  | null |\n| 2  | 1    |\n| 3  | 1    |\n| 4  | 2    |\n| 5  | 2    |\n+----+------+\n<strong>Output:</strong> \n+----+-------+\n| id | type  |\n+----+-------+\n| 1  | Root  |\n| 2  | Inner |\n| 3  | Leaf  |\n| 4  | Leaf  |\n| 5  | Leaf  |\n+----+-------+\n<strong>Explanation:</strong> \nNode 1 is the root node because its parent node is null and it has child nodes 2 and 3.\nNode 2 is an inner node because it has parent node 1 and child node 4 and 5.\nNodes 3, 4, and 5 are leaf nodes because they have parent nodes and they do not have child nodes.\n</pre>\n\n<p><strong>Example 2:</strong></p>\n<img alt=\"\" src=\"https://assets.leetcode.com/uploads/2021/10/22/tree2.jpg\" style=\"width: 64px; height: 65px;\" />\n<pre>\n<strong>Input:</strong> \nTree table:\n+----+------+\n| id | p_id |\n+----+------+\n| 1  | null |\n+----+------+\n<strong>Output:</strong> \n+----+-------+\n| id | type  |\n+----+-------+\n| 1  | Root  |\n+----+-------+\n<strong>Explanation:</strong> If there is only one node on the tree, you only need to output its root attributes.\n</pre>\n",
            "translatedTitle": null,
            "translatedContent": null,
            "isPaidOnly": false,
            "difficulty": "Medium",
            "likes": 324,
            "dislikes": 31,
            "isLiked": null,
            "similarQuestions": "[]",
            "exampleTestcases": "{\"headers\": {\"Tree\": [\"id\", \"p_id\"]}, \"rows\": {\"Tree\": [[1,null],[2,1],[3,1],[4,2],[5,2]]}}\n{\"headers\": {\"Tree\": [\"id\", \"p_id\"]}, \"rows\": {\"Tree\": [[1,null]]}}",
            "categoryTitle": "Database",
            "contributors": [],
            "topicTags": [
                {
                    "name": "Database",
                    "slug": "database",
                    "translatedName": null,
                    "__typename": "TopicTagNode"
                }
            ],
            "companyTagStats": null,
            "codeSnippets": [
                {
                    "lang": "MySQL",
                    "langSlug": "mysql",
                    "code": "# Write your MySQL query statement below\n",
                    "__typename": "CodeSnippetNode"
                },
                {
                    "lang": "MS SQL Server",
                    "langSlug": "mssql",
                    "code": "/* Write your T-SQL query statement below */\n",
                    "__typename": "CodeSnippetNode"
                },
                {
                    "lang": "Oracle",
                    "langSlug": "oraclesql",
                    "code": "/* Write your PL/SQL query statement below */\n",
                    "__typename": "CodeSnippetNode"
                }
            ],
            "stats": "{\"totalAccepted\": \"41.6K\", \"totalSubmission\": \"58.2K\", \"totalAcceptedRaw\": 41557, \"totalSubmissionRaw\": 58201, \"acRate\": \"71.4%\"}",
            "hints": [
                "You can judge the node type by querying whether the node's id shows up in p_id column and whether the node's p_id is null."
            ],
            "solution": {
                "id": "201",
                "canSeeDetail": true,
                "paidOnly": false,
                "hasVideoSolution": false,
                "paidOnlyVideo": true,
                "__typename": "ArticleNode"
            },
            "status": null,
            "sampleTestCase": "{\"headers\": {\"Tree\": [\"id\", \"p_id\"]}, \"rows\": {\"Tree\": [[1,null],[2,1],[3,1],[4,2],[5,2]]}}",
            "metaData": "{\n  \"mysql\": [\n    \"Create table If Not Exists Tree (id int, p_id int)\"\n  ],\n  \"mssql\": [\n    \"Create table Tree (id int, p_id int)\"\n  ],\n  \"oraclesql\": [\n    \"Create table Tree (id int, p_id int)\"\n  ],\n  \"database\": true\n}",
            "judgerAvailable": true,
            "judgeType": "large",
            "mysqlSchemas": [
                "Create table If Not Exists Tree (id int, p_id int)",
                "Truncate table Tree",
                "insert into Tree (id, p_id) values ('1', 'None')",
                "insert into Tree (id, p_id) values ('2', '1')",
                "insert into Tree (id, p_id) values ('3', '1')",
                "insert into Tree (id, p_id) values ('4', '2')",
                "insert into Tree (id, p_id) values ('5', '2')"
            ],
            "enableRunCode": true,
            "enableTestMode": false,
            "enableDebugger": false,
            "envInfo": "{\"mysql\": [\"MySQL\", \"<p><code>MySQL 8.0</code>.</p>\"], \"mssql\": [\"MS SQL Server\", \"<p><code>mssql server 2019</code>.</p>\"], \"oraclesql\": [\"Oracle\", \"<p><code>Oracle Sql 11.2</code>.</p>\"]}",
            "libraryUrl": null,
            "adminUrl": null,
            "challengeQuestion": null,
            "__typename": "QuestionNode"
        }
    }
}