leetcode 814. 二叉树剪枝 【时间击败100.00%】【 内存击败84.62%】
1 public TreeNode pruneTree(TreeNode root) {
2 dfs(root,null,-1);
3 return root;
4 }
5
6 public void dfs(TreeNode cur, TreeNode fa, int left) {
7 if (cur == null) return;
8 if (check(cur)) {
9 if (left == 1) fa.left = null;
10 else fa.right = null;
11 } else {
12 dfs(cur.left, cur, 1);
13 dfs(cur.right, cur, 0);
14 }
15 return;
16 }
17
18 public boolean check(TreeNode node) {
19 if (node == null) return true;
20 if (node.val == 1) return false;
21 return check(node.left) && check(node.right);
22 }
leetcode 814. 二叉树剪枝 【时间击败100.00%】【 内存击败84.62%】的更多相关文章
- Java实现 LeetCode 814 二叉树剪枝 (遍历树)
814. 二叉树剪枝 给定二叉树根结点 root ,此外树的每个结点的值要么是 0,要么是 1. 返回移除了所有不包含 1 的子树的原二叉树. ( 节点 X 的子树为 X 本身,以及所有 X 的后代. ...
- Leetcode 814. 二叉树剪枝
题目链接 https://leetcode-cn.com/problems/binary-tree-pruning/description/ 题目描述 给定二叉树根结点 root ,此外树的每个结点的 ...
- LeetCode:二叉树剪枝【814】
LeetCode:二叉树剪枝[814] 题目描述 给定二叉树根结点 root ,此外树的每个结点的值要么是 0,要么是 1. 返回移除了所有不包含 1 的子树的原二叉树. ( 节点 X 的子树为 X ...
- C#版(击败100.00%的提交) - Leetcode 372. 超级次方 - 题解
版权声明: 本文为博主Bravo Yeung(知乎UserName同名)的原创文章,欲转载请先私信获博主允许,转载时请附上网址 http://blog.csdn.net/lzuacm. Leetcod ...
- C#版(击败100.00%的提交) - Leetcode 151. 翻转字符串里的单词 - 题解
版权声明: 本文为博主Bravo Yeung(知乎UserName同名)的原创文章,欲转载请先私信获博主允许,转载时请附上网址 http://blog.csdn.net/lzuacm. C#版 - L ...
- C#版(击败100.00%的提交) - Leetcode 744. 寻找比目标字母大的最小字母 - 题解
C#版 - Leetcode 744. 寻找比目标字母大的最小字母 - 题解 744.Find Smallest Letter Greater Than Target 在线提交: https://le ...
- C#版[击败100.00%的提交] - Leetcode 6. Z字形变换 - 题解
版权声明: 本文为博主Bravo Yeung(知乎UserName同名)的原创文章,欲转载请先私信获博主允许,转载时请附上网址 http://blog.csdn.net/lzuacm. C#版 - L ...
- [leetcode]1109. 航班预订统计(击败100%用户算法-差分数组的详解)
执行用时2ms,击败100%用户 内存消耗52.1MB,击败91%用户 这也是我第一次用差分数组,之前从来没有碰到过,利用差分数组就是利用了差分数组在某一区间内同时加减情况,只会改变最左边和最右边+1 ...
- leetcode之二叉树
专题:二叉树遍历 987. 二叉树的垂序遍历 给你二叉树的根结点 root ,请你设计算法计算二叉树的 垂序遍历 序列. 对位于 (row, col) 的每个结点而言,其左右子结点分别位于 (row ...
- 100怎么变成100.00 || undefined在数字环境下是:NaN || null在数字环境下是0 || 数组的toString()方法把每个元素变成字符串,拼在一起以逗号隔开 || 空数组转换成字符串后是什么?
100怎么变成100.00?
随机推荐
- python threading.Thread暂停、唤醒、退出 不消耗cpu
class MyThreadSound(threading.Thread): def __init__(self): super(MyThreadSound, self).__init__() sel ...
- ts面试题
1.ts的内置数据类型2.ts中any和unknown3.如何将unknown指定为更具体的类型4.说说对ts中命名空间与模块的理解?区别?5.对ts的理解,和js的区别6.tsconfig.json ...
- Kubernetes部署的10个注意事项
摘要 容器开发有望在云中实现前所未有的可移植性和可扩展 性.此外,DevOps 开发和文化实践也有助于提升业务价 值和响应能力.但是,在开始第一个容器开发项目之前, 有一些问题需要考虑清楚:我们应该使 ...
- 题解[CF674D]Bearish_Fanpages
题意 原意简述版 有 \(n\) 个公司,每个公司在某社交媒体拥有一个粉丝专页.该社交媒体推出了"关注"功能,每个粉丝专页必须"关注"一个粉丝专页,保证不会有自 ...
- Mac安装Nvm Node开发环境
1.什么是nvm? nvm 是 Mac 下的 node 管理工具,可以在同一台电脑上安装多个Node.js版本灵活切换. 2.安装前的准备 a. 卸载已安装到全局的 node/npm 如果之前是在官 ...
- JAVA查漏补缺 1
JAVA查漏补缺 1 目录 JAVA查漏补缺 1 基本数据类型 数组 方法参数传递机制 基本数据类型 数据类型 关键字 取值范围 内存占用(字节数) 整型 byte -128~127 1 整型 sho ...
- 24js Number(数字)对象
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...
- VSCode+EIDE开发CH32V系列RISC-V MCU
VSCode+EIDE开发CH32V系列RISC-V MCU 1. VS Code Visual Studion Code (VS Code),是一款由微软开发且跨平台的免费源代码编辑器.该软件支持语 ...
- debian11下载软件包及依赖(本地使用)
记录下实践情况,原文: https://blog.csdn.net/zgp210317/article/details/120586189?spm=1001.2101.3001.6650.2& ...
- python+POM项目设计模式
分为三层: 第一层:common对selenium进行二次封装,定位元素,操作元素的一些方法,公共方法比如连接数据库.读写yml文件等 第二层:页面封装pages 第三层:测试用例cases