主页有其他数据结构内容(持续更新中)

难度:Medium

代码:

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {private:vector<TreeNode*> result;set<int> to_delete_set;TreeNode* helper(TreeNode* node, bool is_root) {if (node == NULL) {return NULL;}//  判断当前节点是不是需要被删除的节点bool deleted = to_delete_set.find(node->val) != to_delete_set.end();//  只有当一个节点是某棵树的根节点并且不需要被删除时,才能放进结果数组//  结果数组里存放的都是每棵树的根节点if (is_root && !deleted) {result.emplace_back(node);}//  这里的flag的值和deleted的值相同,因为如果某一个节点的父节点被删除了(也就是当前deleted为true),那么该节点就会成为一颗新树的根节点,即该节点的is_root变量为true//  用一个新变量flag表示内在联系,不容易误解bool flag = deleted;node->left = helper(node->left, flag);node->right =  helper(node->right, flag);return deleted ? NULL : node;}
public:vector<TreeNode*> delNodes(TreeNode* root, vector<int> to_delete) {for (int i : to_delete) {to_delete_set.insert(i);}helper(root, true);return result;}
};

LeetCode 1110.删点成林相关推荐

  1. Leetcode 1110.删点成林(Delete Nodes And Return Forest)

    Leetcode 1110.删点成林 1 题目描述(Leetcode题目链接)   给出二叉树的根节点 root,树上每个节点都有一个不同的值. 如果节点值在 to_delete 中出现,我们就把该节 ...

  2. LeetCode 1110. 删点成林(二叉树递归)

    1. 题目 给出二叉树的根节点 root,树上每个节点都有一个不同的值. 如果节点值在 to_delete 中出现,我们就把该节点从树上删去,最后得到一个森林(一些不相交的树构成的集合). 返回森林中 ...

  3. leetCode 1110 删点成林(树,后序遍历)

    题目链接:点击查看 题目描述: 给定一个整数二叉树和一些整数,求删掉这些整数对应的节点后,剩余的子树. 输入输出: 输入:root = [1,2,3,4,5,6,7], to_delete = [3, ...

  4. leetcode 1110. 删点成林

    题目描述: 给出二叉树的根节点 root,树上每个节点都有一个不同的值. 如果节点值在 to_delete 中出现,我们就把该节点从树上删去,最后得到一个森林(一些不相交的树构成的集合). 返回森林中 ...

  5. LeetCode 刷题系列 -- 1110. 删点成林

    给出二叉树的根节点 root,树上每个节点都有一个不同的值. 如果节点值在 to_delete 中出现,我们就把该节点从树上删去,最后得到一个森林(一些不相交的树构成的集合). 返回森林中的每棵树.你 ...

  6. leetcode 111.删点成林 C++

    leetcode 111.删点成林 C++ 删点成林 题目描述 示例 提示 解题思路 C++代码 注意事项 删点成林 题目描述 给出二叉树的根节点 root,树上每个节点都有一个不同的值. 如果节点值 ...

  7. PigyChan_LeetCode 1110. 删点成林

    1110. 删点成林 难度中等 给出二叉树的根节点 root,树上每个节点都有一个不同的值. 如果节点值在 to_delete 中出现,我们就把该节点从树上删去,最后得到一个森林(一些不相交的树构成的 ...

  8. ​力扣解法汇总1110. 删点成林

    目录链接: 力扣编程题-解法汇总_分享+记录-CSDN博客 GitHub同步刷题项目: GitHub - September26/java-algorithms: 算法题汇总,包含牛客,leetCod ...

  9. 1110. 删点成林

    给出二叉树的根节点 root,树上每个节点都有一个不同的值. 如果节点值在 to_delete 中出现,我们就把该节点从树上删去,最后得到一个森林(一些不相交的树构成的集合). 返回森林中的每棵树.你 ...

最新文章

  1. Openssl生成证书流程
  2. FJ集团企业级邮件服务器构建方案
  3. 在Eclipse中配置Tomcat7.0
  4. linux下通过gprs模块拨号上网(转)
  5. c语言链表版百度云,链表详解(C语言版)
  6. SuseLinux详解(3)——开启/关闭防火墙的方法
  7. 华尔街(Wall Street)与先锋集团(Vanguard )之间的战争
  8. 数组作为方法的参数实例和细节(Java)
  9. 程序员如何从零开始运营好一个公众号挣点零花钱之公众号定位
  10. 不小心误删@‘local’操作恢复
  11. JS数组方法shift()、unshift()用法实例分析
  12. 潘多拉-视频播放器,一个轻量的视频播放器
  13. 【单片机笔记】集USB充电、USB供电和电池供电的电源设计
  14. LM75AD温度传感器的应用(2)
  15. 16.引言篇——自定义过滤器及标签
  16. 我在大学读计算机 英语,托福极速英语:我在大学主修计算机
  17. 第五章 区块链在非金融行业的应用
  18. 朗读评价语言集锦_课堂评价语言“集锦”
  19. 关于sublime代码格式化和关闭更新提示
  20. 元素显隐切换过渡效果的实现

热门文章

  1. 写歌第十四首《三月木棉花》
  2. 【Unity编辑器扩展】(二)PSD转UGUI Prefab, 图层解析和碎图导出
  3. PG::Covfefe
  4. 百度地图中如何获取某个经纬度附近的地址
  5. Go语言自学系列 | golang函数的返回值
  6. 北京内推 | 腾讯IEG内容推荐中心计算广告算法组招聘算法实习生
  7. KUL3.0版学习手册
  8. 咱们码农可以从曾国藩身上学到点什么呢(一)
  9. python猜数游戏实验报告_python实现猜数游戏
  10. 招聘一个靠谱的iOS