669. 修剪二叉搜索树

Posted xiyangchen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了669. 修剪二叉搜索树相关的知识,希望对你有一定的参考价值。

给定一个二叉搜索树,同时给定最小边界L 和最大边界 R。通过修剪二叉搜索树,使得所有节点的值在[L, R]中 (R>=L) 。你可能需要改变树的根节点,所以结果应当返回修剪好的二叉搜索树的新的根节点。

示例 1:

输入:
1
/ \
0 2

L = 1
R = 2

输出:
1
\
2

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/trim-a-binary-search-tree

 1 public class TrimBST 
 2     static class TreeNode 
 3         int val;
 4         TreeNode left;
 5         TreeNode right;
 6         TreeNode(int x) 
 7             val = x;
 8         
 9     
10     
11     public TreeNode trimBST(TreeNode root, int L, int R) 
12         if(root == null) 
13             return null;
14         
15         //如果当前节点大于R,则抛弃该节点,判断其左孩子
16         if(root.val > R) 
17             return trimBST(root.left, L, R);
18         
19         //如果当前节点小于L,则抛弃该节点,判断其右孩子
20         if(root.val < L) 
21             return trimBST(root.right, L, R);
22         
23         //如果当前节点在范围内,则保留该节点,判断其左右孩子
24         root.left = trimBST(root.left, L, R);
25         root.right = trimBST(root.right, L, R);    
26         //符合情况,返回该节点
27         return root;
28     
29 

 

以上是关于669. 修剪二叉搜索树的主要内容,如果未能解决你的问题,请参考以下文章

leetcode 669. 修剪二叉搜索树

⭐算法入门⭐《二叉树 - 二叉搜索树》中等08 —— LeetCode 669. 修剪二叉搜索树

⭐算法入门⭐《二叉树 - 二叉搜索树》中等08 —— LeetCode 669. 修剪二叉搜索树

|二叉树|669. 修剪二叉搜索树 |108.将有序数组转换为二叉搜索树|538.把二叉搜索树转换为累加树

LeetCode 669. 修剪二叉搜索树(Trim a Binary Search Tree)

leetcode中等669修剪二叉搜索树