leetcode814. 二叉树剪枝(java)

news/2024/11/17 3:27:54/

二叉树剪枝

  • leetcode814. 二叉树剪枝
    • 题目描述
    • DFS 深度优先遍历
  • 二叉树专题

leetcode814. 二叉树剪枝

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/binary-tree-pruning

题目描述

给你二叉树的根结点 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

DFS 深度优先遍历

首先确定边界条件,当输入为空时,即可返回空。然后对左子树和右子树分别递归进行递归操作。递归完成后,当这三个条件:左子树为空,右子树为空,当前节点的值为 0,同时满足时,才表示以当前节点为根的原二叉树的所有节点都为 0,需要将这棵子树移除,返回空。有任一条件不满足时,当前节点不应该移除,返回当前节点。

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public TreeNode pruneTree(TreeNode root) {return  process(root);}/*** 深度优先遍历 * DFS*/public TreeNode process(TreeNode root ){//base case 直接返回if(root == null){return null;}root.left = process(root.left);root.right = process(root.right);//当前为叶子节点时,且值为0 时,可以直接剪枝,返回null 就等于剪掉了if(root.val == 0 && root.left == null && root.right == null){  return null ;}return root;})

二叉树专题

leetcode257. 二叉树的所有路径

leetcode111. 二叉树的最小深度

leetcode2385. 感染二叉树需要的总时间

leetcode222. 完全二叉树的节点个数

leetcode199. 二叉树的右视图

leetcode–从二叉搜索树到更大和树

根据前序和后序遍历构造二叉树


http://www.ppmy.cn/news/533426.html

相关文章

深入解析大型语言模型:从训练到部署大模型

简介 随着数据科学领域的深入发展,大型语言模型—这种能够处理和生成复杂自然语言的精密人工智能系统—逐渐引发了更大的关注。 LLMs是自然语言处理(NLP)中最令人瞩目的突破之一。这些模型有潜力彻底改变从客服到科学研究等各种行业&#x…

【搜索图片中的文字】

如何搜索图片中的文字

如何搜索相似的图片,如何通过识别图像搜索图片

最近有一张图片,想搜索这张图片的来源,搜索图片里的内容也没有搜索出来。比如搜索一个明星的照片,输入名字可以出来很多,但是有了图片想知道这个图片更多的信息,或者类似的图片,怎么搜索呢。 百度提供了一个…

根据图片搜索

根据图片搜索图中地点 世界那么大,我想去看看。但是去哪里看,哪里走,哪里玩呢?现在个人的空间,朋友圈里总是有许多朋友总是晒出他们去旅游的图片,看着图里美丽的风景我也心动了,但是朋友没有说…

以图搜图在线网站汇总(共7个)

文章目录 写在前面测试样例以图搜图GoogleBaiduYandexTineyeBingSougou360 写在前面 今天给大家分享7个以图搜图的在线网站,上传图片即可搜索图片来源、详情信息或相似图片。 测试样例 测试图片出自番剧《干支魂》第10话3分07秒 以图搜图 Google https://www.goo…

谷歌图片搜索

对于像谷歌、百度识图这种图像搜索的算法,主要有三个步骤: 将目标图片进行特征提取,描述图像的算法很多,用的比较多的是:SIFT描述子,指纹算法函数,bundling features算法,hash func…

图片比对搜索

http://www.tineye.com/ 如果有人传给你一张图片,说是他的玉照, 你信还是不信 嘿嘿 可以用这个网站来搜索一下

你应该知道的 Python 自动化脚本

概要 我们都有一些需要重复做的任务。幸运的是,我们可以将其中一些过程自动化,这样我们就可以专注于做其他真正需要精力和注意力的事情。 在这篇文章中,我们将谈论一些 Python 自动化脚本,你可以轻松地用它们来执行自动化任务。重…