【力扣白嫖日记】608.树节点

news2024/11/17 21:27:12

前言

练习sql语句,所有题目来自于力扣(https://leetcode.cn/problemset/database/)的免费数据库练习题。

今日题目:

175.组合两个表
表:Person

列名类型
idint
p_idvarchar

树中的每个节点可以是以下三种类型之一:

“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

结果:

在这里插入图片描述


总结:

能运行就行。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1485390.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Unity铰链四杆机构设计和运动仿真

一、效果图 设定好各边长度和转速后,点击【设置并启动】,自动生成一个机构模型,并按照原理进行运转 二、铰链四杆机构介绍 机架:A和D是固定位置,叫做机架。 曲柄:B点绕A点旋转,构成曲柄。 连…

poi 设置允许西文在单词中间换行

说明本文是CSDN-问答模块,题主提问。问题描述:poi 设置允许西文在单词中间换行 一、问题描述 poi 设置允许西文在单词中间换行? // 创建一个新的文档XWPFDocument document = new XWPFDocument();// 创建段落XWPFParagraph firstParagraph = document.createParagraph();fir…

自定义类型(结构体、枚举、联合体)内存大小的计算方法

内存对齐 为什么会存在内存对齐? 大部分参考资料是这么说的: 平台原因(移植原因): 不是所有的硬件平台都能访问任意地址上的任意数据的;某些硬件平台只能在某些地址处取某些特定类型的数据,否则抛出硬件异常。性能原…

Python绘制不同形状词云图

目录 1.基本词云图1.1 导入所需库1.2 准备词汇1.3 配置参数并生成词云图1.4 在Python窗口中显示图片1.5 效果展示1.6 完整代码 2. 不同形状词云图2.1 找到自己所需形状图片2.2 利用PS将图片设置为黑白色2.3 在代码中设置背景2.4 效果展示 1.基本词云图 1.1 导入所需库 import…

设计模式七:责任链模式

文章目录 1、责任链模式2、spring中的责任链模式Spring InterceptorServlet FilterNetty 1、责任链模式 责任链模式为请求创建了一个接收者对象的链,在这种模式下,通常每个节点都包含对另一个节点者的引用。每个节点针对请求,处理自己感兴趣…

备战蓝桥杯---动态规划的一些思想1

话不多说,直接看题: 目录 1.双线程DP 2.正难则反多组DP 3.换个方向思考: 1.双线程DP 可能有人会说直接贪心:先选第1条的最优路径,再选第2条最优路径。 其实我们再选第1条时,我们怎么选会对第2条的路径…

宝塔面板安装各种组件以及部署应用服务

在linux服务器安装宝塔面板 一、从宝塔官网下载exe安装包,安装命令从宝塔官网(https://www.bt.cn/)获取 yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh二、安…

【JGit 】一个完整的使用案例

需求 生成一系列结构相同的项目代码,将这些项目的代码推送至一个指定的 Git 仓库,每个项目独占一个分支。 推送时若仓库不存在,则自动创建仓库。 分析 生成代码使用 Java 程序模拟,每个项目中模拟三个文件。Project.cpp 、Pro…

总结 HashTable, HashMap, ConcurrentHashMap 之间的区别

1.多线程环境使用哈希表 HashMap 不行,线程不安全 更靠谱的,Hashtable,在关键方法上加了synchronized 后来标准库又引入了一个更好的解决方案;ConcurrentHashMap 2.HashMap 首先HashMap本身线程不安全其次HashMap的key值可以为空(当key为空时,哈希会…

FNM和SFNM的区别

看图说话。 级联模式下,FNM模式,从片的中断都是同一个级别,因此从片如果有多个中断发生,中断之间不会抢占,只能按顺序处理。 级连模式下,SFNM模式,从片中断有优先级的区别,高优先级…

Qt外部调用进程类QProcess的使用

有的时候我们需要在自己程序运行过程中调用其他进程,那么就需要用到QProcess。 首先可以了解一些关于进程的相关知识:线程与进程,你真得理解了吗_进程和线程的区别-CSDN博客 进程是计算机中的程序关于某数据集合上的一次运行活动&#xff0…

7.1.1 selenium介绍及安装chromedriver

目录 1. Selenium的用途 2. 安装Selenium库 3. 安装chromedriver 1. 查看谷歌版本号​编辑 2. 找到最新版本及下载 3. 配置环境变量 4. 检测是否配置成功 5. 用python初始化浏览器对象检测: 6. 参考链接 1. Selenium的用途 在前面我们提到:在我…

NIO核心三:Selector

一、基本概念 选择器提供一种选择执行已经就绪的任务的能力。selector选择器可以让单线程处理多个通道。如果程序打开了多个连接通道,每个连接的流量都比较低,可以使用Selector对通道进行管理。 二、如何创建选择器 1.创建Selector Selector select…

ArduinoTFTLCD应用

ArduinoTFTLCD应用 ArduinoTFTLCD应用硬件连接软件导入库显示数字、字符显示汉字方案1方案2 显示图片 总结 ArduinoTFTLCD应用 对于手工喜欢DIY的人来说,Arduino驱动的TFTLCD被很多人使用,此处就总结一下,使用的是VScode的PlatformIO插件驱动…

Docusaurus框架——react+antd+echarts自定义mdx生成图表代码解释文档

文章目录 ⭐前言⭐Docusaurus框架渲染mdx内容💖 创建一个mdx文件💖 创建一个react jsx文件💖 mdx引入react的组件并渲染💖 mdx引入react的组件源代码内容 ⭐渲染一个echarts地图的代码解释文档💖 echarts 渲染地图&…

USLE模型-P因子的计算

首先需要下载土地利用类型数据集,查看我的相关文章 对于已有的10种土地类型代码,需要按水土保持措施P值表进行重分类。 10是耕地,且庆阳市坡度10-15度左右,所以赋给了3(最好再下个DEM计算一下,这里就统一用…

WebServer -- 注册登录

目录 🍉整体内容 🌼流程图 🎂载入数据库表 提取用户名和密码 🚩同步线程登录注册 补充解释 代码 😘页面跳转 补充解释 代码 🍉整体内容 概述 TinyWebServer 中,使用数据库连接池实现…

C++指针(三)

个人主页:PingdiGuo_guo 收录专栏:C干货专栏 文章目录 前言 1.字符指针 1.1字符指针的概念 1.2字符指针的用处 1.3字符指针的操作 1.3.1定义 1.3.2初始化 1.4字符指针使用注意事项 2.数组参数,指针参数 2.1数组参数 2.1.1数组参数的概念 2.1…

NCT 全国青少年编程图形化编程(Scratch)等级考试(一级)模拟测试H

202312 青少年软件编程等级考试Scratch一级真题 第 1 题 【 单选题 】 以下说法合理的是( ) A :随意点开不明来源的邮件 B :把密码设置成 abc123 C :在虚拟社区上可以辱骂他人 D :在改编他人的作品前, 先征得他人同意 正确答案: D 试题解析&…

python模块和包概念与使用

python模块和包概念与使用 Python模块与包的关键概念 在Python编程中,模块和包是代码组织和管理的基石。以下是关于Python模块与包的核心要点: 模块: 模块是一个包含Python代码的.py文件,它可以定义函数、类、变量等。通过导入模…