WhiteYin / LeetcodeAnswer

leedcode解答,新手向
0 stars 0 forks source link

669. Trim a Binary Search Tree #15

Open WhiteYin opened 7 years ago

WhiteYin commented 7 years ago

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
WhiteYin commented 7 years ago

递归方法,对每一个节点的值进行判断,

  1. 先判空,
  2. 然后若小于L则取其右子节点返回,
  3. 若大于R则取其左子节点返回,
  4. 否则对其左右子节点进行递归调用,
  5. 返回该节点