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

怎样看网站的建设时间怎么制作网站ping工具

怎样看网站的建设时间,怎么制作网站ping工具,网站备案网站名称怎么填,蜘蛛云建网站怎样个人主页#xff1a;元清加油_【C】,【C语言】,【数据结构与算法】-CSDN博客 个人专栏#xff1a;http://t.csdnimg.cn/ZxuNL http://t.csdnimg.cn/c9twt 前言#xff1a;这个专栏主要讲述递归递归、搜索与回溯算法#xff0c;所以下面题目主要也是这些算法做的 我讲述…个人主页元清加油_【C】,【C语言】,【数据结构与算法】-CSDN博客 个人专栏http://t.csdnimg.cn/ZxuNL http://t.csdnimg.cn/c9twt 前言这个专栏主要讲述递归递归、搜索与回溯算法所以下面题目主要也是这些算法做的   我讲述题目会把讲解部分分为3个部分 1、题目解析 2、算法原理思路讲解 3、代码实现 二叉树剪枝题目 题目链接二叉树剪枝 题目 给你二叉树的根结点 root 此外树的每个结点的值要么是 0 要么是 1 。 返回移除了所有不包含 1 的子树的原二叉树。 节点 node 的子树为 node 本身加上所有 node 的后代。 示例 1 输入root [1,null,0,0,1] 输出[1,null,0,null,1] 解释 只有红色节点满足条件“所有不包含 1 的子树”。 右图为返回的答案。示例 2 输入root [1,0,1,0,0,0,1] 输出[1,null,1,null,1]示例 3 输入root [1,1,0,1,1,0,1,0] 输出[1,1,0,1,1,null,1]提示 树中节点的数目在范围 [1, 200] 内Node.val 为 0 或 1 解法 题目解析 这道题目的意思很简单给我们一个二叉树的根节点root节点删除这棵二叉树所有不包含1val ! 1的节点。 例如 算法原理思路讲解    如果我们选择从上往下删除我们需要收集左右⼦树的信息这可能导致代码编写相对困难。 如下图所示我们若想删除标红的节点我们需要收集左右⼦树的信息 如果我们先删除最底部的叶⼦节点然后再处理删除后的节点操作起来比较简单 如下图所示我们若想删除标红的节点直接删除即可 因此我们可以采⽤后序遍历的⽅式来解决这个问题 我们先处理左⼦树然后处理右⼦树最后再处理当前节点。在处理当前节点时我们可以判断其是否为叶⼦节点且其值是否为 0 如果满⾜条件我们可以删除当前节点。 需要注意的是在删除叶⼦节点时其父节点很可能会成为新的叶⼦节点。因此在处理完⼦节点后我们仍然需要处理当前节点。这也是为什么选择后序遍历的原因后序遍历⾸先遍历到的⼀定是叶⼦节点通过使⽤后序遍历我们可以逐步删除叶⼦节点并且保证删除后的节点仍然满⾜删除操作的要求。这样我们可以较为⽅便地实现删除操作⽽不会影响最终的结果。 若在处理结束后所有叶⼦节点的值均为 1则所有⼦树均包含 1此时可以返回 1、设计函数头 TreeNode* dfs(TreeNode* root) 返回值根节点参数 当前需要处理的节点函数作⽤判断当前节点是否需要删除若需要删除则删除当前节点。 2、设计函数体和函数出口 进行后序遍历若遇到叶子节点并且val值为0那么删除该节点 if (root nullptr)return nullptr;root-left dfs(root-left);root-right dfs(root-right);if(root-left nullptr root-right nullptr root-val 0){delete root; // 防⽌内泄漏root nullptr;}return root; 以上思路就讲解完了大家可以先自己先做一下 时间复杂度O(n)其中 n 是二叉树节点的个数。每个节点都需要遍历一次。空间复杂度O(n)其中 n 是二叉树节点的个数。递归的深度最多为 O(n)。 代码实现 /*** 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 { 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){delete root; // 防⽌内泄漏root nullptr;}return root;} };
http://wiki.neutronadmin.com/news/148312/

相关文章:

  • 建卖手机网站wordpress 新特性
  • 网站建设方案书安全性如何推广好一个产品
  • 知名网站建设哪家好网推一手渠道
  • 一个备案可以做几个网站吗秦皇岛庆云网站建设
  • 网站备案的是域名还是空间上海中高风险地区查询
  • 谁专门做网站安全维护html5网站后台
  • 怎么查网站是不是正规wordpress有多少种语言
  • 青岛网站建设保山分销商城模式系统开发
  • 自己创建的网站instagram wordpress
  • 怡清源企业网站建设可行性分析广州网站设计哪个好
  • 怎么样建网站啊网站建设 服务流程
  • 网站验收模版自助建站系统破解版
  • 禅城区网站建设互联网推广好做吗
  • 学校网页网站模板wordpress 国内视频网站
  • 网站推广的目标是什么北京装修公司排名前十名
  • 建立问答类的网站wordpress文章模板如何修改
  • 管局备案网站做新网站怎样提交360
  • 上海住房和城乡建设厅网站如何网站建设的方案
  • 珠海做网站技校平面设计主要做什么
  • 郑州专业的网站公司wordpress作者 页面
  • 免费做淘宝联盟网站网络营销专业好就业吗
  • 网站运营解决方案wordpress转成中文
  • 网站建设公司浙江北京的制作网站的公司
  • 添加建设银行的网站企业级网站开发平台
  • 国外购物网站系统专门做动漫的网站吗
  • 自己做的简单网站下载深圳公司查询
  • 青岛网站搭建公司哪家好营销型网站是什么意思
  • 旅游网站开发工具自己做网站前期困难吗
  • 我找别人做的网站现在不管了怎么办宁波人流医院
  • 做网站服务好网络运营工资大概多少