leetcode 百天解题 - day 119 - 1110. 删点成林
题目名称
给出二叉树的根节点 root,树上每个节点都有一个不同的值。
如果节点值在 to_delete 中出现,我们就把该节点从树上删去,最后得到一个森林(一些不相交的树构成的集合)。
返回森林中的每棵树。你可以按任意顺序组织答案。
示例
输入:words = [“adc”,”wzy”,”abc”]
输入:root = [1,2,3,4,5,6,7], to_delete = [3,5]
输出:[[1,2,null,4],[6],[7]]
输入:root = [1,2,4,null,3], to_delete = [3]
输出:[[1,2,4]]
题解
采用深度优先遍历的方法,从叶子节点开始删起。
生成新的树节点应该满足一下条件
- 父节点是需要被删除状态
- 当前节点不可被删除
- 根节点直接判断是否需要被删除即可
当满足以上节点的时候,就生成了一个新的二叉树
答案
1 | /** |
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment
DisqusValine