Class Solution

  • All Implemented Interfaces:

    
    public final class Solution
    
                        

    669 - Trim a Binary Search Tree.

    Medium

    Given the root of a binary search tree and the lowest and highest boundaries as low and high, trim the tree so that all its elements lies in [low, high]. Trimming the tree should not change the relative structure of the elements that will remain in the tree (i.e., any node's descendant should remain a descendant). It can be proven that there is a unique answer.

    Return the root of the trimmed binary search tree. Note that the root may change depending on the given bounds.

    Example 1:

    Input: root = 1,0,2, low = 1, high = 2

    Output: 1,null,2

    Example 2:

    Input: root = 3,0,4,null,2,null,null,1, low = 1, high = 3

    Output: 3,2,null,1

    Constraints:

    • The number of nodes in the tree is in the range <code>1, 10<sup>4</sup></code>.

    • <code>0 <= Node.val <= 10<sup>4</sup></code>

    • The value of each node in the tree is unique.

    • root is guaranteed to be a valid binary search tree.

    • <code>0 <= low <= high <= 10<sup>4</sup></code>

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Constructor Summary

      Constructors 
      Constructor Description
      Solution()
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      final TreeNode trimBST(TreeNode root, Integer l, Integer r)
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait