二叉树剪枝

1、题目解析

2、算法解析

本题使用二叉树的后序遍历,通过递归函数将左右子树进行处理,得到处理结果后,判断左右结果以及自身的val判断是否需要剪枝。

3、代码编写

cpp 复制代码
class Solution {
public:
    TreeNode* pruneTree(TreeNode* root) {

        if(root == nullptr)
        {
            return nullptr;
        }

        root->left = pruneTree(root->left);
        root->right = pruneTree(root->right);

        if(root->left == nullptr && root->right == nullptr && root->val == 0)
        {
            return nullptr;
        }

        return root;

        
    }
};
相关推荐
weisian15118 分钟前
Java并发编程--47-分布式ID生成器:雪花算法(Snowflake)与时钟回拨问题
java·算法·时钟回拨·雪花算法id
itzixiao20 分钟前
L1-066 猫是液体(5分)[java][python]
java·开发语言·python·算法
ytttr87321 分钟前
MATLAB SIFT图像配准实现
算法·机器学习·matlab
小饕24 分钟前
从 Word2Vec 到多模态:词嵌入技术的演进全景
人工智能·算法·机器学习
海参崴-26 分钟前
AVL树完整实现与深度解析
算法
一个爱编程的人33 分钟前
一个数是不是素数
数据结构·算法
Hui_AI72037 分钟前
基于RAG的农产品GEO溯源智能问答系统实现
开发语言·网络·人工智能·python·算法·创业创新
lwf00616438 分钟前
FFM (Field-aware Factorization Machine) 学习日记
算法·机器学习
南宫萧幕39 分钟前
HEV能量管理控制算法实战:从MPC/RL理论基础到Simulink闭环建模
算法·matlab·汽车·控制·pid
IT猿手1 小时前
SCI一区:章鱼优化算法(Octopus Optimization Algorithm, OOA)求解23个测试函数,出图丰富,提供完整MATLAB代码
开发语言·算法·matlab