每日一题814. 二叉树剪枝
Posted 爱写Bug的王六六
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每日一题814. 二叉树剪枝相关的知识,希望对你有一定的参考价值。
814. 二叉树剪枝
给你二叉树的根结点 root ,此外树的每个结点的值要么是 0 ,要么是 1 。
返回移除了所有不包含 1 的子树的原二叉树。
节点 node 的子树为 node 本身加上所有 node 的后代。
递归函数的含义为「将入参 root 中的所有不包含 1 的子树移除,并返回新树头结点」。
任意节点作为入参该如何处理:可以递归处理左右子树,并将新左右子树重新赋值给 root。由于当前节点 root 的左右子树可能为空树,因此我们要增加递归函数入参为空的边界处理。
当递归操作完成后,若左右节点任一值不为空(说明当前节点 root 不为叶子节点),我们可以直接返回 root,否则根据 root 的值是否为 0 来决定返回空树还是 root 本身。
/**
* Definition for a binary tree node.
* public class TreeNode
* int val;
* TreeNo
以上是关于每日一题814. 二叉树剪枝的主要内容,如果未能解决你的问题,请参考以下文章