首页 > 其他分享 >608. 树节点 - 力扣(LeetCode)

608. 树节点 - 力扣(LeetCode)

时间:2024-12-18 21:27:44浏览次数:10  
标签:insert into Tree 608 id 力扣 values LeetCode 节点

  1. 608. 树节点 - 力扣(LeetCode)

  2. 目标

    1. 输入

      输入:
      Tree table:
      idp_id
      1
      21
      31
      42
      52
    2. 输出

      输出:
      idtype
      1Root
      2Inner
      3Leaf
      4Leaf
      5Leaf
  3. 分析

    树中的每个节点可以是以下三种类型之一:
    "Leaf":节点是叶子节点。
    "Root":节点是树的根节点。
    "lnner":节点既不是叶子节点也不是根节点。
    编写一个解决方案来报告树中每个节点的类型。
    输入:
    Tree table:
    输出:
    idp_ididtype
    11Root
    212Inner
    313Leaf
    424Leaf
    525Leaf
    条件判断:1.p_id为空则为root,2.p_id不为空且id在p_id中为inner,其余为leafidtype
    1Root
    2Inner
    3Leaf
    4Leaf
    5Leaf
  4. 实现

    Create table If Not Exists Tree (id int, p_id int);
    Truncate table Tree;
    insert into Tree (id, p_id) values ('1', NULL);
    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');
    SELECT *
    FROM Tree;
    SELECT id,CASE
    WHEN p_id IS NULL THEN 'Root'
    WHEN p_id IS NOT NULL AND id in (SELECT p_id FROM Tree)THEN 'Inner'
    ELSE 'Leaf'
    END type
    FROM Tree;

  5. 小结

        使用CASE...WHEN条件查询

标签:insert,into,Tree,608,id,力扣,values,LeetCode,节点
From: https://blog.csdn.net/2301_78665414/article/details/144570049

相关文章

  • 534. 游戏玩法分析 III - 力扣(LeetCode)
    534.游戏玩法分析III-力扣(LeetCode)目标输入输入:Activitytable:player_iddevice_idevent_dategames_played122016/3/15122016/5/26132017/6/251312016/3/20342018/7/35输出输出:player_idevent_dategames_played_so_far12016/3/1512016/5/21112017/6/251232016/3/......
  • LeetCode746使用最小花费爬楼梯(动态规划)
    原理问题分析与状态定义题目给定一个表示每阶楼梯花费的数组 cost,每次可以选择爬1阶或2阶楼梯,目标是求出到达楼梯顶部的最小花费。定义状态 dp[i] 表示到达第 i 阶楼梯所花费的最小成本。由于可以从第 i-1 阶跨1步或者从第 i-2 阶跨2步到达第 i 阶,所......
  • LeetCode题练习与总结:供暖器--475
    一、题目描述冬季已经来临。 你的任务是设计一个有固定加热半径的供暖器向所有房屋供暖。在加热器的加热半径范围内的每个房屋都可以获得供暖。现在,给出位于一条水平线上的房屋 houses 和供暖器 heaters 的位置,请你找出并返回可以覆盖所有房屋的最小加热半径。注意:所......
  • LeetCode题练习与总结:一和零--474
    一、题目描述给你一个二进制字符串数组 strs 和两个整数 m 和 n 。请你找出并返回 strs 的最大子集的长度,该子集中 最多 有 m 个 0 和 n 个 1 。如果 x 的所有元素也是 y 的元素,集合 x 是集合 y 的 子集 。示例1:输入:strs=["10","0001",......
  • 力扣80. 删除有序数组中的重复项 II
    给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用O(1)额外空间的条件下完成。示例1:输入:nums=[1,1,1,2,2,3]输出:5,nums=......
  • 搞定leetcode面试经典150题之二分查找
    系列博客目录文章目录系列博客目录理论知识基本理论:算法步骤:二分查找的时间复杂度:二分查找的变种:注意事项:模板例题35.搜索插入位置74.搜索二维矩阵162.寻找峰值33.搜索旋转排序数组153.寻找旋转排序数组中的最小值34.在排序数组中查找元素的第一个和最后一个位置......
  • leetcode31. 下一个全排列
    leetcode31.nextpermutation这道题可以先从极端情况入手考虑:第一个全排列:12345,完全升序的最后一个全排列:54321,完全降序的有一个很显然的结论:为了最小化我们的操作对字典序的影响,我们要尽量修改靠后的元素的顺序。所以,我们能确定,我们需要从后向前扫描,寻找需......
  • LeetCode 3285 找到稳定山的下标
    问题描述有 n 座山排成一列,每座山都有一个高度。给你一个整数数组 height ,其中 height[i] 表示第 i 座山的高度,再给你一个整数 threshold 。对于下标不为 0 的一座山,如果它左侧相邻的山的高度 严格大于 threshold ,那么我们称它是 稳定 的。我们定义下标为 ......
  • LeetCode771 宝石与石头
    题目描述给定一个字符串 jewels,它代表石头中宝石的类型;另有一个字符串 stones,代表我们拥有的石头。其中,stones 里的每个字符对应一种石头类型,任务是要精准地统计出在 stones 当中,属于 jewels 所定义的宝石类型的石头究竟有多少。这里需特别注意,字母区分大小写,像 "a"......
  • LeetCode面试题04 检查平衡性
    题目:实现一个函数,检查二叉树是否平衡。在这个问题中,平衡树的定义如下:任意一个节点,其两棵子树的高度差不超过1。一、平衡树定义:二叉树,一种由节点组成的树形数据结构,每个节点最多有两个子节点,分别称作左子节点和右子节点。而平衡二叉树,可不是普通的二叉树,它有着严苛的要求:对......