LeetCode 814. 二叉树剪枝

题目描述

给你二叉树的根结点 root ,此外树的每个结点的值要么是 0 ,要么是 1 。

返回移除了所有不包含 1 的子树的原二叉树。

节点 node 的子树为 node 本身加上所有 node 的后代。

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

思路

一开始没啥思路,感觉要写搜索,后来想起来数据结构期末考好像有类似的,应该是用递归很容易写,然后确实很容易写,找准递归边界就好了,也确实很容易找。

代码

/*** 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){return nullptr;}root->left = pruneTree(root->left);root->right = pruneTree(root->right);if(!root->left&&!root->right&&root->val==0)return nullptr;return root;}
};

收获

  • 看了题解和一些讨论,主流做法就是递归和搜索,这道题提示我如果我现阶段遇到有关树的题目,优先考虑递归去写。

LeetCode 814. 二叉树剪枝相关推荐

  1. LeetCode 814. 二叉树剪枝(递归)

    文章目录 1. 题目 2. 递归解题 1. 题目 给定二叉树根结点 root ,此外树的每个结点的值要么是 0,要么是 1. 返回移除了所有不包含 1 的子树的原二叉树. 把只包含0的子树删除(断开) ...

  2. Leetcode 814.二叉树剪枝

    Time: 20190906 Type: Medium 题目描述 给定二叉树根结点 root ,此外树的每个结点的值要么是 0,要么是 1. 返回移除了所有不包含 1 的子树的原二叉树. ( 节点 X ...

  3. leetcode 814. Binary Tree Pruning | 814. 二叉树剪枝(Java)

    题目 https://leetcode.com/problems/binary-tree-pruning/ 题解 思路很简单,看草稿: /*** Definition for a binary tre ...

  4. 【leetcode】二叉树与经典问题

    文章目录 笔记 leetcode [114. 二叉树展开为链表](https://leetcode-cn.com/problems/flatten-binary-tree-to-linked-list ...

  5. LeetCode:二叉树相关应用

    LeetCode:二叉树相关应用 基础知识 617.归并两个二叉树 题目 Given two binary trees and imagine that when you put one of the ...

  6. leetcode题解(二叉树和递归问题)

    这篇博客我们主要来看二叉树和二叉树问题中使用递归来解决问题的思路.这类问题有时思路很简单,这是因为二叉树具有天然的递归结构,所以我们使用递归的解法解决二叉树有关的问题就变得非常明显. 二叉树天然的递归 ...

  7. Leetcode 863.二叉树中所有距离为K的结点

    Time: 20190924 Type: Medium 题目描述 给定一个二叉树(具有根结点 root), 一个目标结点 target ,和一个整数值 K . 返回到目标结点 target 距离为 K ...

  8. 力扣(LeetCode)236. 二叉树的最近公共祖先(C语言)

    一.环境说明 本文是 LeetCode 236. 二叉树的最近公共祖先,使用c语言实现. 递归. 测试环境:Visual Studio 2019. 二.代码展示 精简代码: struct TreeNo ...

  9. LeetCode——1104. 二叉树寻路(Path In Zigzag Labelled Binary Tree)[中等]——分析及代码(Java)

    LeetCode--1104. 二叉树寻路[Path In Zigzag Labelled Binary Tree][中等]--分析及代码[Java] 一.题目 二.分析及代码 1. 按位置求解 (1 ...

最新文章

  1. 【Linux】内核态和用户态
  2. 接口应用小玩具-博客园积分排名变动监控工具
  3. LabelImg操作及快捷键
  4. C# 与 LUA 的经验对比
  5. JavaScript不区分 '
  6. Xshell操控kali-linux虚拟机
  7. Vue (响应式原理-模拟-0)
  8. 评委对计算机知识竞赛的提问,知识竞赛抢答软件-评委评分知识竞赛答题软件...
  9. 24合1芯片RK628D替代龙讯LT6911C/东芝TC358749XBG/HDMI TO MIPI...
  10. 蒟蒻的数据结构乱谈(未完)
  11. UE4 通过蓝图实现蓝图接口
  12. 武汉市科技企业孵化器认定条件
  13. 会说话的电脑,.vbs
  14. 乳清蛋白和支链氨基酸不得不说的关系
  15. Cookie存储购物车
  16. 1000句最常用英语口语 (501~999)
  17. x265常用编码参数
  18. Uboot代码结构详细分析
  19. 腾讯企点QTrade 金融OTC合规解决方案
  20. 【大数据存储技术】思考题及参考答案

热门文章

  1. FANUC机器人DCS相关报警及处理对策
  2. 树和二叉树,完美/满二叉树和完全二叉树之间的区别对比
  3. linux查看IP、域名、端口的网络是否相通
  4. js解码出数据库密钥
  5. 9020CDN如何设置双面复印_兄弟DCP9020CDN彩色激光一体机使用说明书(高级功能).pdf...
  6. 【案例】You Smoke, You Up!西二旗“控烟侠”搞事情
  7. 【数据挖掘】心跳信号分类预测 之 赛题理解 —— 学习笔记(一)
  8. 计算机网络教程第5版-第3章数据链路层(数据链路层)
  9. 2n皇后问题C语言实现
  10. 关于计算机0和1的知识,电脑逻辑0与1是怎么实现四则运算的?