java.lang.Object
g1001_1100.s1080_insufficient_nodes_in_root_to_leaf_paths.Solution

public class Solution extends java.lang.Object
1080 - Insufficient Nodes in Root to Leaf Paths.

Medium

Given the root of a binary tree and an integer limit, delete all insufficient nodes in the tree simultaneously, and return the root of the resulting binary tree.

A node is insufficient if every root to leaf path intersecting this node has a sum strictly less than limit.

A leaf is a node with no children.

Example 1:

Input: root = [1,2,3,4,-99,-99,7,8,9,-99,-99,12,13,-99,14], limit = 1

Output: [1,2,3,4,null,null,7,8,9,null,14]

Example 2:

Input: root = [5,4,8,11,null,17,4,7,1,null,null,5,3], limit = 22

Output: [5,4,8,11,null,17,4,7,null,null,null,5]

Example 3:

Input: root = [1,2,-3,-5,null,4,null], limit = -1

Output: [1,null,-3,4]

Constraints:

  • The number of nodes in the tree is in the range [1, 5000].
  • -105 <= Node.val <= 105
  • -109 <= limit <= 109
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    sufficientSubset(TreeNode root, int limit)
     
    int
    sufficientSubset(TreeNode root, int limit, int sum, boolean isLeaf)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Solution

      public Solution()
  • Method Details

    • sufficientSubset

      public TreeNode sufficientSubset(TreeNode root, int limit)
    • sufficientSubset

      public int sufficientSubset(TreeNode root, int limit, int sum, boolean isLeaf)