二叉树剪枝

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;

        
    }
};
相关推荐
Yzzz-F几秒前
算法竞赛进阶指南 动态规划 背包
算法·动态规划
程序员-King.3 分钟前
day124—二分查找—最小化数组中的最大值(LeetCode-2439)
算法·leetcode·二分查找
predawnlove8 分钟前
【NCCL】4 AllGather-PAT算法
算法·gpu·nccl
驱动探索者9 分钟前
[缩略语大全]之[内存管理]篇
java·网络·算法·内存管理
·云扬·35 分钟前
MySQL Join关联查询:从算法原理到实战优化
数据库·mysql·算法
bbq粉刷匠40 分钟前
二叉树中两个指定节点的最近公共祖先
java·算法
Alsn861 小时前
29.Java中常见加解密算法的基本实现
java·开发语言·算法
1001101_QIA1 小时前
OpenMP学习笔记
算法
Coovally AI模型快速验证1 小时前
YOLO11算法深度解析:四大工业场景实战,开源数据集助力AI质检落地
人工智能·神经网络·算法·计算机视觉·无人机
(❁´◡`❁)Jimmy(❁´◡`❁)1 小时前
【算法】 二分图理论知识和判断方法
c++·算法