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

潍坊个人网站制作wordpress关键词内链图片

潍坊个人网站制作,wordpress关键词内链图片,凡科怎样免费做网站,移动网站建设初学视频教程题目描述 给定二叉树根结点 root ,此外树的每个结点的值要么是 0,要么是 1。返回移除了所有不包含 1 的子树的原二叉树。( 节点 X 的子树为 X 本身,以及所有 X 的后代。)示例1: 输入: [1,null,0,0,1] 输出: [1,null,0,null,1]示例2: 输入: […

题目描述

给定二叉树根结点 root ,此外树的每个结点的值要么是 0,要么是 1。返回移除了所有不包含 1 的子树的原二叉树。( 节点 X 的子树为 X 本身,以及所有 X 的后代。)示例1:
输入: [1,null,0,0,1]
输出: [1,null,0,null,1]示例2:
输入: [1,0,1,0,0,0,1]
输出: [1,null,1,null,1]示例3:
输入: [1,1,0,1,1,0,1,0]
输出: [1,1,0,1,1,null,1]说明:给定的二叉树最多有 100 个节点。
每个节点的值只会为 0 或 1 。来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/binary-tree-pruning
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

思路

用【产品经理法】的思维来解决递归问题。

产品

假设我们已经有了一个 pruneTree 方法,可以把一棵树中不包含 1 的枝节删掉。

子问题

明显是 pruneTree(root.left) 和 pruneTree(root.right)

大小问题的关系

首先,对于 root,我们用 pruneTree(root.left) 和 pruneTree(root.right) 的结果分别替换掉原本的 root.left 和 root.right。接着,再决定当前这棵树要不要保留。

  • 如果此时左右子树有一个不为空的话,那说明这棵树是要保留的,直接返回 root 就行。
  • 如果左右子树都为空,那我们就判断 root.val 的值,等于 1 就返回 root,等于 0 就返回 null 把这棵树移除。

递归出口

空节点直接返回 null 就行。

代码

TypeScript Code

/*** Definition for a binary tree node.* class TreeNode {*     val: number*     left: TreeNode | null*     right: TreeNode | null*     constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) {*         this.val = (val===undefined ? 0 : val)*         this.left = (left===undefined ? null : left)*         this.right = (right===undefined ? null : right)*     }* }*/function pruneTree(root: TreeNode | null): TreeNode | null {if (!root) return null;root.left = pruneTree(root.left);root.right = pruneTree(root.right);return root.left || root.right || root.val === 1 ? root : null;
}

复杂度分析

  • 时间复杂度:$O(N)$,N 为二叉树节点数。
  • 空间复杂度:$O(H)$,H 为二叉树的高度,递归栈的最大空间。
http://www.yayakq.cn/news/339958/

相关文章:

  • 在网站上做视频培训系统多少钱桂林网站建设招聘
  • 凡科建站的模板 怎么弄下来学长的手在我的裤子里作文
  • 网站建设廴金手指花总壹陆网站建设项目
  • 如何注册免费网站wordpress更新缓存
  • 建设网站需要租服务器吗成都app推广公司
  • excel 表格 做的网站韩都衣舍的网站建设
  • 国内网站做得好的公司北京市住房及城乡建设部网站
  • 做网站分pc端和移动端的吗六安钢贴吧
  • 大连企业需要做网站怎么建立免费的网站
  • 南充做网站多少钱搜狗网站seo
  • 零售网站有哪些平台网站开发速成班
  • 大连网站推广招聘国内搜索网站排名
  • php 开源企业网站接活做图网站
  • 旅游电子商务网站建设规划方案江苏网站建设怎么样
  • 辽宁企业网站建设哪里找做网站的
  • 广东建设继续教育网站首页seo排名系统
  • 泉州建设公司网站阜宁做网站的公司电话
  • 太原网站建设推广公司推荐网站被黑了你会怎么想你该怎么做
  • 免费素材网站可商用做ppt好的网站
  • 网站备案万网琼海市规划建设局网站
  • 哪个网站可以做图片秦皇岛市住房和城乡建设局网
  • 营销型网站策划 pdf网站解析不了
  • 大望路网站建设公司wordpress主题原理
  • 网站域名查询系统做机票在线预订网站
  • 网站付费模板网站建设北京
  • 简单的asp网站源码p2p网贷网站建设哪家好
  • 一流的高密网站建设石家庄网页设计工资
  • 外贸电商网站开发价格姐妹直播视频tv
  • 网站制作的常见布局centos wordpress 2m
  • 交换链接网站专业软文发布平台