二叉树剪枝

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;

        
    }
};
相关推荐
菌菌的快乐生活9 分钟前
理解支持向量机
算法·机器学习·支持向量机
大山同学14 分钟前
第三章线性判别函数(二)
线性代数·算法·机器学习
axxy200033 分钟前
leetcode之hot100---240搜索二维矩阵II(C++)
数据结构·算法
黑客Ash44 分钟前
安全算法基础(一)
算法·安全
AI莫大猫2 小时前
(6)YOLOv4算法基本原理以及和YOLOv3 的差异
算法·yolo
taoyong0012 小时前
代码随想录算法训练营第十一天-239.滑动窗口最大值
c++·算法
Uu_05kkq2 小时前
【C语言1】C语言常见概念(总结复习篇)——库函数、ASCII码、转义字符
c语言·数据结构·算法
清梦20203 小时前
经典问题---跳跃游戏II(贪心算法)
算法·游戏·贪心算法
Dream_Snowar3 小时前
速通Python 第四节——函数
开发语言·python·算法
Altair澳汰尔4 小时前
数据分析和AI丨知识图谱,AI革命中数据集成和模型构建的关键推动者
人工智能·算法·机器学习·数据分析·知识图谱