zoukankan      html  css  js  c++  java
  • 669. Trim a Binary Search Tree

    Given a binary search tree and the lowest and highest boundaries as L and R, trim the tree so that all its elements lies in [L, R] (R >= L). You might need to change the root of the tree, so the result should return the new root of the trimmed binary search tree.

    Example 1:

    Input: 
        1
       / 
      0   2
    
      L = 1
      R = 2
    
    Output: 
        1
          
           2

    Example 2:

    Input: 
        3
       / 
      0   4
       
        2
       /
      1
    L = 1 R = 3 Output: 3 / 2 / 1
    题目含义:给定一棵二叉搜索树和最小最大边界LR,修剪这棵树,使得其中的元素位于LR之间。

     1     public TreeNode trimBST(TreeNode root, int L, int R) {
     2         if (root == null) return null;
     3 
     4         if (root.val < L) return trimBST(root.right, L, R);
     5         if (root.val > R) return trimBST(root.left, L, R);
     6 
     7         root.left = trimBST(root.left, L, R);
     8         root.right = trimBST(root.right, L, R);
     9 
    10         return root;        
    11     }
  • 相关阅读:
    Flink中的window、watermark和ProcessFunction(三)
    ThreadLocal刨根问底
    Flink的流处理API(二)
    Flink简介(一)
    SparkStreaming
    SparkSQL
    Spark入门
    SparkCore
    【HNOI2009】 最小圈
    【BOI 2002】 双调路径
  • 原文地址:https://www.cnblogs.com/wzj4858/p/7710785.html
Copyright © 2011-2022 走看看