当前位置: 首页 > article >正文

leetcode1110删点成林

    注意特殊情况根节点被删除,就不放入res

     没有解引用&,这个只是复制而已

      删除结点用nullptr而不是NULL

这里用到的是后序遍历

左右子树分别讨论是否为空

写遍历别忘了回溯条件

    /**
    * 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) {}
    * };
    */
    void bitree(vector<TreeNode*>& res,TreeNode*& root,vector<int>& to_delete)
    {
        if(root==NULL)
        return;

    bitree(res,root->left,to_delete);
    bitree(res,root->right,to_delete);
    auto it=find(to_delete.begin(),to_delete.end(),root->val);
    if(it!=to_delete.end())
    {
        if(root->right!=NULL)
        {
            res.push_back(root->right);
        
        }
        if(root->left!=NULL)
        {
            res.push_back(root->left);
        }
  root = nullptr;

    }


    }
    class Solution {
    public:
        vector<TreeNode*> delNodes(TreeNode* root, vector<int>& to_delete) {
        vector<TreeNode*>res;
        if(root)
        {
            auto it=find(to_delete.begin(),to_delete.end(),root->val);
            if(it==to_delete.end())
            {
                res.push_back(root);
            }
        }
            bitree(res,root,to_delete);
            return res;
        }
    };


http://www.kler.cn/a/454042.html

相关文章:

  • MATLAB中UWB工具箱的使用建议
  • 解决pycharm无法识别miniconda
  • AI Weekly『12月16-22日』:OpenAI公布o3,谷歌发布首个推理模型,GitHub Copilot免费版上线!
  • VisualRules华为应用场景介绍
  • jquery固定折叠侧边栏菜单插件
  • Oracle一些基础知识
  • 【C++ 基础】从C到C++有哪些变化
  • hadoop中hive本地模式安装mysql源不成功
  • 【漫话机器学习系列】022.微积分中的链式求导法则(chain rule of Calculus)
  • 循环神经网络(RNN)入门指南:从原理到实践
  • sentinel笔记9- 限流规则持久化(上)
  • plantuml的picoweb无法渲染分页图表的问题
  • spring专题笔记(六):bean的自动装配(自动化注入)-根据名字进行自动装配、根据类型进行自动装配。代码演示,通俗易懂。
  • mybatis/mybatisplus
  • 《异构计算:多元算力聚变,点燃高性能计算新引擎 – CPU、GPU与FPGA算力融合》
  • Java - 日志体系_Apache Commons Logging(JCL)日志接口库
  • 基于Java2D和Java3D实现的(GUI)图形编辑系统
  • Android笔记(四十一):TabLayout内的tab不滚动问题
  • SpringCloud整合skywalking实现链路追踪和日志采集
  • C++ Map与Set:数据的吟游诗——双城记