题目:牛牛有一棵n个节点的二叉树,该二叉树每个节点的权值为1。牛牛想要删掉该树其中的k层节点,删除序列为a1,a2…ak。
如有一棵二叉树,删除其中的第3层节点

思路:
层序遍历,遍历时对节点依次进行如下操作:
1.若当前节点上一层应该删除且这一层不用删除,将该节点填入答案。
2.将当前节点左右儿子填入遍历队列。
3.若当前节点下一层需要删除时,断开当前节点左右儿子的连接。
特殊处理:遍历前,将第0层(根节点的上层,在树中不存在)设置为需要删除,在对根节点执行操作1时,若第1层不需要删除,会将根节点填入答案,以免漏掉根节点。

function deleteLevel (root, a) {//要删除的层数队列,0需要手动添加,否则会漏掉root节点let set = new Set();for (let num of a) set.add(num);set.add(0);let queue = []let list = []queue.push(root);let depth = 0;while (queue.length!==0) {let size = queue.length;depth++;while (size-- > 0) {let node = queue.shift();if (node.left != null)queue.push(node.left);if (node.right != null) queue.push(node.right);if (set.has(depth - 1) && !set.has(depth))list.push(node);if (!set.has(depth) && set.has(depth + 1)) {node.left = null;node.right = null;}}}return list;}

牛牛有一棵n个节点的二叉树,该二叉树每个节点的权值为1。牛牛想要删掉该树其中的k层节点,删除序列为a1,a2...ak。 如有一棵二叉树,删除其中的第3层节点相关推荐

  1. 一道题:给定一整数序列A1,A2,...,An(可能有负数),求A1到An的一个自序列,使得Ai到Aj的和最大。例如:整数序列-2,11,-4,13,-5,2,-5,-3,12,-9的最大子序列为21

    给定一整数序列A1,A2,-,An(可能有负数),求A1到An的一个自序列,使得Ai到Aj的和最大.例如:整数序列-2,11,-4,13,-5,2,-5,-3,12,-9的最大子序列为21(从A2到A ...

  2. 【练习】树(Tree, UVa 548)给一棵点带权(权值各不相同)的二叉树的中序和后序遍历,找一个叶子使得它到根的路径上的权和最小。

    给一棵点带权(权值各不相同,都是小于10000的正整数)的二叉树的中序和后序遍历,找一个叶子使得它到根的路径上的权和最小.如果有多解,该叶子本身的权应尽量小.输入中每两行表示一棵树,其中第一行为中序遍 ...

  3. 算法--360面试:使用递归实现:a0=1,a1=1;a2=a0+a1;a3=a1+a2...以此类推,求a30

    Q题目 编程求解 使用递归实现:a0=1,a1=1;a2=a0+a1;a3=a1+a2;a4=a2+a3...以此类推,求a30 Answer解法 方式一:采用逆向思维 非常明显这是一道简单动态规划的 ...

  4. 给定N个加号,M个减号以及N+M+1个整数,A1+A2+...+Am+An+1,小明想知道在所有由这n个加号,M个减号以及N+M+1个整数凑出的合法的后缀表达式中,结果最大的是哪一个?

    问题;给定N个加号,M个减号以及N+M+1个整数,A1+A2+-+Am+An+1,小明想知道在所有由这n个加号,M个减号以及N+M+1个整数凑出的合法的后缀表达式中,结果最大的是哪一个? 请输出这个最 ...

  5. A0/A1/A2/A3/A4图纸大小分别是多少

    原文地址::http://zhidao.baidu.com/question/291959816.html 我们国家的标准是按A0,A1...来分的,美国标准是按A,B,C,D,E来分的. A0=11 ...

  6. A1,A2,A3,A4纸的尺寸

    A1,A2,A3,A4纸的尺寸谁知道阿? 悬赏分:0 - 解决时间:2006-11-21 15:51 急用 提问者: 夕峰客 - 举人 四级 最佳答案 A0=1189*841 A1=841*594 A ...

  7. 洗牌-牛客 第一行一个数T(T ≤ 100),表示数据组数。对于每组数据,第一行两个数n,k(1 ≤ n,k ≤ 100),接下来一行有2n个数a1,a2,...,a2n(1 ≤ ai ≤ 1000

    题目描述: 洗牌在生活中十分常见,现在需要写一个程序模拟洗牌的过程. 现在需要洗2n张牌,从上到下依次是第1张,第2张,第3张一直到第2n张.首先,我们把这2n张牌分成两堆,左手拿着第1张到第n张(上 ...

  8. 某厂生产三种产品Ⅰ,Ⅱ,Ⅲ。每种产品要经过A,B两道工序加工。设该厂有两种规格的设备能完成A工序,以A1,A2 表示;有三种规格的设备能完成B工序,以B1,B2,B3,表示。产品Ⅰ可在A,B任何一种规

    数学建模算法与应用习题 某厂生产三种产品Ⅰ,Ⅱ,Ⅲ.每种产品要经过A,B两道工序加工.设该厂有两种规格的设备能完成A工序,以A1,A2 表示;有三种规格的设备能完成B工序,以B1,B2,B3,表示.产 ...

  9. 数据结构与算法——给定整数A1,A2,....An,....(可能有负数),求该数据序列的最大子序列的和

    求最大的子序列和问题 给定整数A1,A2,....An,....(可能有负数),求该数据序列的最大子序列的和. 比如:输入-2, 11, -4, 13, -5, -2: 答案是20(11,-4,13三 ...

最新文章

  1. Git如何回滚代码?
  2. VC用MFC开发的圆形进度条控件
  3. Android studio导入第三方库的各种方法和eclipse的导入方式对比
  4. c#分页_使用Kotlin搭配Springboot开发RESTFul接口(二)自定义配置、跨域、分页
  5. WebBrowser控件使用相关
  6. OPPO Reno巴萨定制版正式开售 10倍混合光变加持专属定制
  7. (转)Flex compc ant 编译
  8. RubyOnRails 小小引导(上)
  9. 【编译原理】自下而上语法分析(C/C++源码+实验报告)
  10. re 中 报错 no such group
  11. 什么是SysWow64
  12. [架构]MVC/MCP/MVVM三个框架模式
  13. 华为交换机/华三交换机 查看光口模块信息
  14. 专科出身,2年进入苏宁,5年跳槽阿里,论我是怎么快速晋升的?
  15. gpu云服务器运行游戏_显卡云主机-游戏安卓模拟器GPU独立显卡云服务器
  16. “清华学霸计划表”刷爆家长群:自律的孩子有多棒?你想象不到
  17. c语言一维数组字符串数组初始化,一维数组的定义、初始化和引用
  18. 全国4000 AI企业北京独霸三成 | 《北京人工智能产业发展白皮书》发布(附下载)...
  19. 血型遗传关系c语言编程,血型遗传(配对表)
  20. excel(排序、合并单元格、合并后求和)

热门文章

  1. 什么是高频电解电容与普通电解电容的区别
  2. halcon提取桔子(橙子)
  3. 循环结构02:桔子数量
  4. python总结报告模板_Python中RE模块总结
  5. 怎么画流程图攻略:思维导图的绘制技巧详解
  6. C语言中断服务程序指令,单片机C语言函数之中断函数(中断服务程序)
  7. 杭 州 市 区 土 地 级 别 划 分 范 围 表 杭州 地段划分 一类 二类
  8. Idea配置Remote Host
  9. 辩证法的本质及应用实例:微积分新诠释
  10. Java毕设项目智能快递分拣系统计算机(附源码+系统+数据库+LW)