当前位置: 首页 > 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://www.yutouwan.com/news/148312/

相关文章:

  • 有网站代码怎么做网站遵义网站
  • 生成链接的网站北京酷站科技有限公司
  • 深圳手机建站模板wordpress腾讯地图插件下载
  • 企业网站软件下载昌大建设地址
  • 营销建设网站制作做网站猫腻大吗
  • 二级网站建设方案模板目前做的比较好的法律网站有哪些
  • 电子商务网站规划书范文肇庆seo按天计费
  • 在线做印章网站网站内容管理系统(cms)
  • 网站开发投票代码什么响应式网站
  • 深圳网站建站建设网页制作模板dw
  • 做易拉宝的网站网站开发团队成员介绍
  • md5加密网站宜兴市建设局官方网站
  • 二季域名做网站建筑工程是干嘛的
  • 青浦建设机械网站WordPress反爬虫教程
  • 做钓鱼网站什么是网络设计方案网络设计的原则有哪些
  • 上海有什么大企业东莞做网站乐云seo
  • 如何做自己的淘宝客网站网站关键词百度指数
  • wordpress 分段莆田seo推广公司
  • 网站备案核实网站建设用自助建站系统好不好
  • 电子商务网站开发公司教育培训手机网站模板下载
  • 建设主题网站的顺序是什么样的做服装商城网站论文
  • 珠海集团网站建设报价张家港网站设计建设
  • 咸宁网站设计北京it外包公司
  • 织梦网站栏目如何做下拉公司微网站制作
  • wordpress网站结构学校 html5 网站 案例
  • 网站301重定向$常州规划网站
  • 研发项目备案在哪个网站做广州专业网站改版
  • 街道网站建设更新汇报旌阳移动网站建设
  • 电子商务网站建设与管理是什么关键词是什么意思
  • 网站 系统 的开发技术wordpress做论坛