文章目录

  • 1. 题目
  • 2. 解题

1. 题目

给定一个表 tree,id 是树节点的编号, p_id 是它父节点的 id 。

+----+------+
| id | p_id |
+----+------+
| 1  | null |
| 2  | 1    |
| 3  | 1    |
| 4  | 2    |
| 5  | 2    |
+----+------+
树中每个节点属于以下三种类型之一:叶子:如果这个节点没有任何孩子节点。
根:如果这个节点是整棵树的根,即没有父节点。
内部节点:如果这个节点既不是叶子节点也不是根节点。

写一个查询语句,输出所有节点的编号和节点的类型,
并将结果按照节点编号排序。上面样例的结果为:

+----+------+
| id | Type |
+----+------+
| 1  | Root |
| 2  | Inner|
| 3  | Leaf |
| 4  | Leaf |
| 5  | Leaf |
+----+------+解释
节点 '1' 是根节点,因为它的父节点是 NULL ,同时它有孩子节点 '2' 和 '3' 。
节点 '2' 是内部节点,因为它有父节点 '1' ,也有孩子节点 '4' 和 '5' 。
节点 '3', '4' 和 '5' 都是叶子节点,因为它们都有父节点同时没有孩子节点。
样例中树的形态如下:1/   \2       3/   \4       5注意
如果树中只有一个节点,你只需要输出它的根属性。

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/tree-node
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

# Write your MySQL query statement below
select id, case when p_id is null then 'Root'when id in (select p_id from tree) then 'Inner'else 'Leaf' endas Type
from tree
order by id

437 ms


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!

LeetCode MySQL 608. 树节点相关推荐

  1. LeetCode 1273. 删除树节点(拓扑排序/DFS)

    文章目录 1. 题目 2. 解题 2.1 取巧解 2.2 拓扑排序 2.3 建图+DFS 1. 题目 给你一棵以节点 0 为根节点的树,定义如下: 节点的总数为 nodes 个: 第 i 个节点的值为 ...

  2. LeetCode MySQL解题目录

    已完成的 LeetCode MySQL 数据库题目.点击查看我的 LeetCode 算法解题目录. 已解决 123/123 - 简单 54 中等 51 困难 18 前置入门学习 MySQL 基本查询. ...

  3. Leetcode|MySQL|数据库刷题记录(601~627)

    目录 601. 体育馆的人流量 602. 好友申请 II :谁有最多的好友 603. 连续空余座位 607. 销售员 608. 树节点 610. 判断三角形 612. 平面上的最近距离 613. 直线 ...

  4. mysql实现树状查询_MySQL实现树状所有子节点查询的方法

    本文实例讲述了MySQL实现树状所有子节点查询的方法.分享给大家供大家参考,具体如下: 在Oracle 中我们知道有一个 Hierarchical Queries 通过CONNECT BY 我们可以方 ...

  5. MySQL · B+树并发控制机制的前世今生

    前言 1970年,Rudolf Bayer教授在<Organization and Maintenance of Large Ordered Indices>一文中提出了B树[1],从它基 ...

  6. mysql b 树原因_复习系列之数据库(四):MySQL为什么采用B+树作为索引结构?

    MySQL中数据是索引组织表,即表中数据按照主键顺序存放.所以就可以基于索引这种数据结构实现一些高级算法,来提高检索效率. 常见的查找算法 顺序查找:复杂度O(n),在数据量大时,效率很低 二分查找: ...

  7. MySQL B+树如何实现联合索引

    MySQL B+树如何实现联合索引 "同学,你来画一下MySQL的B+树如何实现联合索引的?" "额,这个嘛--这个--俺不晓得--" 之前大言不惭说对MySQ ...

  8. LeetCode专题:树与回溯(完结,已更50题)

    目录 LeetCode二叉树的基本遍历(难): 写在前面: 前序遍历: Morris遍历: 中序遍历: Morris遍历: 后序遍历: Morris遍历: 二叉树前中后迭代方式同一写法: 鸣谢: Le ...

  9. 【Leetcode -1609.奇偶树 -1122.数组的相对排序】

    Leetcode Leetcode -1609.奇偶树 Leetcode -1122.数组的相对排序 Leetcode -1609.奇偶树 题目:如果一棵二叉树满足下述几个条件,则可以称为 奇偶树 : ...

最新文章

  1. Netflix是怎样做系统监控的?
  2. 面向初级 Web 开发人员的 Tomcat
  3. vuewebsocket做消息提醒_企业微信群怎么定时群发消息?如何突破群发次数限制?...
  4. Jmeter----连接mysql数据库及常见问题处理
  5. 4/5 MySQL入门总结:数据表(TABLE)操作
  6. Google AI 的焦虑:拆分搜索和人工智能部门
  7. 云服务器架设网站教程_阿里云服务器购买流程详细教程及注意事项
  8. springmvc注解@
  9. Unity3d 枚举某个目录下所有资源
  10. 简单又实用的MRP手机平台下软件及游戏破解方法
  11. mysql循环插入语句_sql循环插入的语句写法
  12. python爬app视频_用Python爬抖音APP短视频
  13. 安卓京东自动炸年兽v4.1.1
  14. android root刷机包包,一加OnePlus 5T安卓9 root教程,用recovery来卡刷root包
  15. 1-MATLAB APP Design-图像的输入与输出
  16. 计算机键盘怎么换键,电脑修改键盘按键的方法
  17. 最新韩小韩二次元高清图库api开源PHP网站源码
  18. python和excel相关的是什么知识点_Python 与 Excel 不得不说的事
  19. PT_随机变量函数的分布_随机变量线性函数的正态分布
  20. Debian安装和配置ssh服务

热门文章

  1. python程序写诗_将Python诗歌与D结合起来
  2. Qt 串口类QSerialPort 使用笔记
  3. c# Invoke和BeginInvoke
  4. 计算机一级繁体字转换,繁体字转换器
  5. 什么可以作为gcroot_面包果既能当水果又可以作为粮食,国内却无法普及,这是为什么?...
  6. Centos7 安装Mysql5.7
  7. 2019春季第三次编程总结
  8. 魔戒(思维+bfs)
  9. 【BZOJ1880】[Sdoi2009]Elaxia的路线 最短路+DP
  10. 深入理解mybatis原理, Mybatis初始化SqlSessionFactory机制详解(转)