二叉搜索树修剪指南:保留区间内的节点结构
<|begin▁of▁sentence|># 1. 题目
#### [669. 修剪二叉搜索树](https://leetcode-cn.com/problems/trim-a-binary-search-tree/)
难度中等556
给你二叉搜索树的根节点 `root` ,同时给定最小边界`low` 和最大边界 `high`。通过修剪二叉搜索树,使得所有节点的值在`[low, high]`中。修剪树 **不应该** 改变保留在树中的元素的相对结构 (即,如果没有被移除,原有的父代子代关系都应当保留)。 可以证明,存在 **唯一的答案** 。
所以结果应当返回修剪好的二叉搜索树的新的根节点。注意,根节点可能会根据给定的边界发生改变。
**示例 1:**

```
输入:root = [1,0,2], low = 1, high = 2
输出:[1,null,2]
```
**示例 2:**

```
输入:root = [3,0,4,null,2,null,null,1], low = 1, high = 3
输出:[3,2,null,1]
```
**提示:**
- 树中节点数在范围 `[1, 104]` 内
- `0 <= Node.val <= 104`
- 树中每个节点的值都是 **唯一** 的
- 题目数据保证输入是一棵有效的二叉搜索树
- `0 <= low <= high <= 104`
# 2. 题解
# 3. code
```c++
class Solution {
public:
TreeNode* trimBST(TreeNode* root, int low, int high) {
if (!root) return nullptr;
if (root->val < low) {
TreeNode* right = trimBST(root->right, low, high);
return right;
}
if (root->val > high) {
TreeNode* left = trimBST(root->left, low, high);
return left;
}
root->left = trimBST(root->left, low, high);
root->right = trimBST(root->right, low, high);
return root;
}
};
```
# 4. 心得
最新文章
- 四轮定位提升汽车操控性能
- 电动化、智能化、车联网:汽车产业三大变革趋势解析
- 车况检测保障行车安全
- 汽车钣金变形登记证书:办理流程与重要性解析
- V2X通信与车载传感器如何重塑智能驾驶体验
- 智能减震器:可变阻尼系统如何让驾驶更舒适平稳
- V2X技术与传感器融合:重塑未来车路协同安全新格局
- 汽车面漆修复全攻略:从喷枪使用到清漆保养
- 激光雷达:智能汽车自动驾驶的'火眼金睛'技术解析
- 自动驾驶技术演进:从L2到L5的产业变革与未来展望
- 车联网与V2X技术:重塑未来智能出行的关键
- 如何正确选择和使用拖车绳?关键要点全解析
- 2023年智能驾驶、固态电池与车联网三大技术趋势解析
- 电动化与智能化双轮驱动:电池技术、激光雷达与车联网重塑未来出行
- 智能网联与新能源革命:未来出行的三大趋势与展望
- 上汽大通汽车创新科技
- 电动化浪潮席卷全球,智能化与轻量化重塑汽车产业新格局
- 电动汽车未来发展趋势分析
- 激光雷达与车联网技术如何重塑未来汽车安全格局
- 电动汽车三大技术突破:固态电池、800V高压平台与智能驾驶
