【每日一题】814. 二叉树剪枝

这是一篇关于814题的博客,主要讨论如何从二叉树中移除不包含1的子树。文章详细解释了递归函数的逻辑,包括处理空节点的边界条件,以及如何判断当前节点是否应该保留。在完成递归操作后,如果节点非叶节点,返回该节点,否则根据节点值决定返回空树还是节点本身。
摘要由CSDN通过智能技术生成

814. 二叉树剪枝
给你二叉树的根结点 root ,此外树的每个结点的值要么是 0 ,要么是 1 。

返回移除了所有不包含 1 的子树的原二叉树。

节点 node 的子树为 node 本身加上所有 node 的后代。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

递归函数的含义为「将入参 root 中的所有不包含 1 的子树移除,并返回新树头结点」。

任意节点作为入参该如何处理:可以递归处理左右子树,并将新左右子树重新赋值给 root。由于当前节点 root 的左右子树可能为空树,因此我们要增加递归函数入参为空的边界处理。

当递归操作完成后,若左右节点任一值不为空(说明当前节点 root 不为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值