本文主要是介绍【力扣白嫖日记】608.树节点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前言
练习sql语句,所有题目来自于力扣(https://leetcode.cn/problemset/database/)的免费数据库练习题。
今日题目:
175.组合两个表
表:Person
列名 | 类型 |
---|---|
id | int |
p_id | varchar |
树中的每个节点可以是以下三种类型之一:
“Leaf”:节点是叶子节点。
“Root”:节点是树的根节点。
“lnner”:节点既不是叶子节点也不是根节点。
编写一个解决方案来报告树中每个节点的类型。
以 任意顺序 返回结果表。
我那不值一提的想法:
- 首先梳理表内容,题干一共给了一张表,记录了树中节点id和父节点id。
- 其次分析需求,需要编写一个方案报告树中的每个节点类型。
- 在观察了表后,我发现节点有以下规律
- 1.根节点,p_id是null,没有父节点
- 2.内部节点,前面有根节点,后面有叶子节点
- 3.叶子节点,有父节点,但是没有子节点
- 用SQL写出来
- 1.case when p_id is null then “root”
- 2.p_id in (select p_id from Tree)
- 3.除了上面两种情况就是叶子节点了
select id,case when p_id is null then "Root" when id in (select p_id from Tree) then "Inner"else "Leaf"end as type
from Tree
结果:
总结:
能运行就行。
这篇关于【力扣白嫖日记】608.树节点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!