• 剑指 Offer II 047. 二叉树剪枝


    写麻烦了

    flag

    对于叶子节点表示val是0还是1

    对于非叶子节点表示子节点删没删

    dfs就好了

    写了free就报错,不知道是我写的方式错了,还是oj有问题。

    /**
     * Definition for a binary tree node.
     * struct TreeNode {
     *     int val;
     *     TreeNode *left;
     *     TreeNode *right;
     *     TreeNode() : val(0), left(nullptr), right(nullptr) {}
     *     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
     *     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
     * };
     */
    class Solution {
        void dfs(TreeNode* &root, int &flag)
        {
            if(root->val == 0) flag = 1;
            else flag = 0;
            if(root->left == nullptr && root->right == nullptr)
            {
                if(flag == 0) return;
                //free(r);
                root = nullptr;
                return;
            }
            if(root->left) dfs(root->left, flag);
            int flag1 = flag;
            if(root->right) dfs(root->right, flag);
            int flag2 = flag;
            if(flag1 == 1 && flag2 == 1 && root->val == 0)
            {
                TreeNode* r = root;
                //free(r);
                root = nullptr;
            }
            else
            {
                flag = 0;
            }
            return;
        }
    
    public:
        TreeNode* pruneTree(TreeNode* root) {
            int flag = -1;
            dfs(root, flag);
            return root;
        }
    };
    自己选择的路,跪着也要走完。朋友们,虽然这个世界日益浮躁起来,只要能够为了当时纯粹的梦想和感动坚持努力下去,不管其它人怎么样,我们也能够保持自己的本色走下去。
  • 相关阅读:
    [转]如何分析监控的关键指标
    性能测试指标&说明 [解释的灰常清楚哦!!]
    页面性能测试&提升方式
    转:使用 JMeter 完成常用的压力测试
    细雨学习笔记:JMeter 的主要测试组件总结
    压力测试了解
    影响性能的因素
    网址收藏
    Windows安装TensorFlow
    ionic常见问题及解决方案
  • 原文地址:https://www.cnblogs.com/WTSRUVF/p/15377030.html
Copyright © 2020-2023  润新知