二叉树剪枝

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;

        
    }
};
相关推荐
ximen502_1 天前
算法面试题
java·数据结构·算法
zzzsde1 天前
【Linux】进程信号(2)保存信号与信号处理
linux·运维·服务器·算法
QuZero1 天前
Semaphore Principle
java·算法
ZPC82101 天前
自定义机械臂驱动(Action Server + /joint_states 发布)
算法
啊我不会诶1 天前
牛客练习赛151
算法·深度优先·图论
Ricardo-Yang1 天前
# BPE Tokenizer:从训练规则到推理切分的完整理解
人工智能·深度学习·算法·机器学习·计算机视觉
qyzm1 天前
牛客周赛 Round 140
数据结构·python·算法
Severus_black1 天前
顺序表、单链表经典算法题分享(未完待续...)
c语言·数据结构·算法·链表
我不是懒洋洋1 天前
【经典题目】栈和队列面试题(括号匹配问题、用队列实现栈、设计循环队列、用栈实现队列)
c语言·开发语言·数据结构·算法·leetcode·链表·ecmascript
Polaris_T1 天前
2026最新字节大模型岗面经汇总(多平台整理)
人工智能·经验分享·算法·aigc·求职招聘