代码随想录算法训练营第二十天-二叉树-669. 修剪二叉搜索树

  • 对于递归的写法除了大写的服字,无话可说
  • 由于是修剪二叉树,所以会有明确的方向性
  • 当某一结点小于最小值,说明其左子树全部要修剪掉
  • 当某一结点大于最大值,说明其右子树全部要修剪掉
cpp 复制代码
#include <iostream>

struct TreeNode {
    int val;
    TreeNode* left;
    TreeNode* right;
    TreeNode(): val(0), left(nullptr), right(nullptr) {}
    TreeNode(int v): val(v), left(nullptr), right(nullptr) {}
    TreeNode(int v, TreeNode* l, TreeNode* r): val(v), left(l), right(r) {}
};

class Solution {
public:
    TreeNode* trimBST(TreeNode* root, int low, int high) {
        if (root == nullptr)
            return nullptr;
        else if (root->val < low)
            return trimBST(root->right, low, high);
        else if (root->val > high)
            return trimBST(root->left, low, high);
        root->left = trimBST(root->left, low, high);
        root->right = trimBST(root->right, low, high);
        return root;
    }
};
int main()
{
    Solution s;
    return 0;
}
相关推荐
软件算法开发1 小时前
基于卡尔曼滤波的雷达光电多目标航迹融合算法matlab仿真
算法·matlab·卡尔曼滤波·雷达光电·多目标航迹融合
吐泡泡科技2 小时前
MATLAB风光柴储微网粒子群算法
算法·matlab·粒子群算法·风光柴储微网
不吃元西2 小时前
leetcode top100矩阵题73.54.48.240
算法·leetcode·矩阵
subject625Ruben2 小时前
Matlab多种算法解决未来杯B的多分类问题
人工智能·算法·机器学习·数学建模·matlab·分类·未来杯
Antonio9153 小时前
【设计模式】原型模式
c++·设计模式·原型模式
hy____1233 小时前
字符串函数和结构题内存对齐
c语言·算法
YoloMari4 小时前
Leetcode刷题-枚举右,维护左
python·算法·leetcode
17´5 小时前
Qt从入门到入土(十) -数据库操作--SQLITE
数据库·c++·qt·sqlite
东雁西飞5 小时前
MATLAB 控制系统设计与仿真 - 26
开发语言·算法·matlab·工业机器人·智能机器人