1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-01-27 10:40:26 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee

82 lines
8.2 KiB
JSON
Raw Normal View History

2022-03-27 20:46:41 +08:00
{
"data": {
"question": {
"questionId": "608",
"questionFrontendId": "608",
"categoryTitle": "Database",
"boundTopicId": 2637,
"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": "树节点",
"translatedContent": "<p>给定一个表&nbsp;<code>tree</code><strong>id</strong> 是树节点的编号,&nbsp;<strong>p_id</strong>&nbsp;是它父节点的&nbsp;<strong>id 。</strong></p>\n\n<pre>+----+------+\n| id | p_id |\n+----+------+\n| 1 | null |\n| 2 | 1 |\n| 3 | 1 |\n| 4 | 2 |\n| 5 | 2 |\n+----+------+</pre>\n\n<p>树中每个节点属于以下三种类型之一:</p>\n\n<ul>\n\t<li>叶子:如果这个节点没有任何孩子节点。</li>\n\t<li>根:如果这个节点是整棵树的根,即没有父节点。</li>\n\t<li>内部节点:如果这个节点既不是叶子节点也不是根节点。</li>\n</ul>\n\n<p>&nbsp;</p>\n\n<p>写一个查询语句,输出所有节点的编号和节点的类型,并将结果按照节点编号排序。上面样例的结果为:</p>\n\n<p>&nbsp;</p>\n\n<pre>+----+------+\n| id | Type |\n+----+------+\n| 1 | Root |\n| 2 | Inner|\n| 3 | Leaf |\n| 4 | Leaf |\n| 5 | Leaf |\n+----+------+\n</pre>\n\n<p>&nbsp;</p>\n\n<p><strong>解释</strong></p>\n\n<ul>\n\t<li>节点 &#39;1&#39; 是根节点,因为它的父节点是 NULL ,同时它有孩子节点 &#39;2&#39; 和 &#39;3&#39; 。</li>\n\t<li>节点 &#39;2&#39; 是内部节点,因为它有父节点 &#39;1&#39; ,也有孩子节点 &#39;4&#39; 和 &#39;5&#39; 。</li>\n\t<li>节点 &#39;3&#39;, &#39;4&#39; 和 &#39;5&#39; 都是叶子节点,因为它们都有父节点同时没有孩子节点。</li>\n\t<li>样例中树的形态如下:\n\t<p>&nbsp;</p>\n\n\t<pre>\t\t\t 1\n\t\t\t/ \\\n 2 3\n / \\\n 4 5\n</pre>\n\n\t<p>&nbsp;</p>\n\t</li>\n</ul>\n\n<p><strong>注意</strong></p>\n\n<p>如果树中只有一个节点,你只需要输出它的根属性。</p>\n",
"isPaidOnly": false,
"difficulty": "Medium",
2022-05-02 23:44:12 +08:00
"likes": 66,
2022-03-27 20:46:41 +08:00
"dislikes": 0,
"isLiked": null,
"similarQuestions": "[]",
"contributors": [],
"langToValidPlayground": "{\"cpp\": false, \"java\": false, \"python\": false, \"python3\": false, \"mysql\": false, \"mssql\": false, \"oraclesql\": false, \"c\": false, \"csharp\": false, \"javascript\": false, \"ruby\": false, \"bash\": false, \"swift\": false, \"golang\": false, \"scala\": false, \"html\": false, \"pythonml\": false, \"kotlin\": false, \"rust\": false, \"php\": false, \"typescript\": false, \"racket\": false, \"erlang\": false, \"elixir\": false}",
"topicTags": [
{
"name": "Database",
"slug": "database",
"translatedName": "数据库",
"__typename": "TopicTagNode"
}
],
"companyTagStats": null,
"codeSnippets": [
{
"lang": "MySQL",
"langSlug": "mysql",
"code": "# Write your MySQL query statement below",
"__typename": "CodeSnippetNode"
},
{
"lang": "MS SQL Server",
"langSlug": "mssql",
"code": "/* Write your T-SQL query statement below */",
"__typename": "CodeSnippetNode"
},
{
"lang": "Oracle",
"langSlug": "oraclesql",
"code": "/* Write your PL/SQL query statement below */",
"__typename": "CodeSnippetNode"
}
],
2022-05-02 23:44:12 +08:00
"stats": "{\"totalAccepted\": \"14.3K\", \"totalSubmission\": \"22.6K\", \"totalAcceptedRaw\": 14276, \"totalSubmissionRaw\": 22554, \"acRate\": \"63.3%\"}",
2022-03-27 20:46:41 +08:00
"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": null,
"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,
"envInfo": "{\"mysql\":[\"MySQL\",\"<p>\\u7248\\u672c\\uff1a<code>MySQL 8.0<\\/code><\\/p>\"],\"mssql\":[\"MS SQL Server\",\"<p>mssql server 2019.<\\/p>\"],\"oraclesql\":[\"Oracle\",\"<p>Oracle Sql 11.2.<\\/p>\"]}",
"book": null,
"isSubscribed": false,
"isDailyQuestion": false,
"dailyRecordStatus": null,
"editorType": "CKEDITOR",
"ugcQuestionId": null,
"style": "LEETCODE",
"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]]}}",
"__typename": "QuestionNode"
}
}
}