zoukankan      html  css  js  c++  java
  • LeetCode 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:

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

    Solution:
    /**
     * Definition for a binary tree node.
     * function TreeNode(val) {
     *     this.val = val;
     *     this.left = this.right = null;
     * }
     */
    /**
     * @param {TreeNode} root
     * @param {number} L
     * @param {number} R
     * @return {TreeNode}
     */
    var trimBST = function(root, L, R) {
        if(root == null)
            return null;
        if(root.val > R) {
            return trimBST(root.left, L ,R);
        }
        if(root.val < L) {
            return trimBST(root.right, L, R)
        }
        
        root.left = trimBST(root.left, L, R);
        root.right = trimBST(root.right, L , R);
        return root;
    };
  • 相关阅读:
    Iterable,Iterator和forEach
    集合的线程安全性
    Servlet生命周期
    JavaWeb应用的生命周期
    将博客搬至CSDN
    (五)新类库的构件
    Python input和print函数
    python----调试
    Excel决定吃什么
    MATLAB—地图
  • 原文地址:https://www.cnblogs.com/gogolee/p/7504738.html
Copyright © 2011-2022 走看看