二叉树剪枝

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;

        
    }
};
相关推荐
Georgewu11 小时前
【AI大模型入门指南】提示词Prompt工程详解
算法·aigc·ai编程
ZackSock16 小时前
Policy Gradient 极简教程
算法
Big_Yellow_J17 小时前
深入浅出了解生成模型-3:Diffusion模型原理以及代码
算法·面试
ZackSock18 小时前
从零实现 RAG
算法
Jolyne_18 小时前
前端常用的树处理方法总结
前端·算法·面试
前端付豪21 小时前
微信视频号推荐系统揭秘:兴趣建模、多模态分析与亿级流控架构实战
前端·后端·算法
木杉苑21 小时前
快速幂算法
算法
-qOVOp-1 天前
408第一季 - 数据结构 - 排序II
数据结构·算法·排序算法
小胖同学~1 天前
快速入门数据结构--栈
算法
C++ 老炮儿的技术栈1 天前
VSCode -配置为中文界面
大数据·c语言·c++·ide·vscode·算法·编辑器