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

向右看齐 2022-08-31 09:39 217阅读 0赞

题目

https://leetcode.com/problems/binary-tree-pruning/
在这里插入图片描述

题解

思路很简单,看草稿:
在这里插入图片描述

  1. /** * 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; * } * } */
  2. class Solution {
  3. public TreeNode pruneTree(TreeNode root) {
  4. if (retain(root)) return root;
  5. else return null;
  6. }
  7. public boolean retain(TreeNode node) {
  8. if (node == null) return false;
  9. boolean l = retain(node.left);
  10. boolean r = retain(node.right);
  11. if (!l) node.left = null;
  12. if (!r) node.right = null;
  13. return l || r || node.val == 1;
  14. }
  15. }

在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,217人围观)

还没有评论,来说两句吧...

相关阅读

    相关 814. 剪枝

    给定二叉树根结点 `root` ,此外树的每个结点的值要么是 0,要么是 1。 返回移除了所有不包含 1 的子树的原二叉树。 ( 节点 X 的子树为 X 本身,以及所有 X