当前位置: 首页 > article >正文

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

  • 对于递归的写法除了大写的服字,无话可说
  • 由于是修剪二叉树,所以会有明确的方向性
  • 当某一结点小于最小值,说明其左子树全部要修剪掉
  • 当某一结点大于最大值,说明其右子树全部要修剪掉
#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;
}
  • 汇总

http://www.kler.cn/a/463388.html

相关文章:

  • 07-ArcGIS For JavaScript--隐藏参数qualitySettings(memory和lod控制)
  • Appium 2.0:移动自动化测试的革新之旅
  • CSS系列(45)-- Scope详解
  • 大模型系列17-RAGFlow搭建本地知识库
  • 自学记录鸿蒙API 13:实现多目标识别Object Detection
  • 项目优化之策略模式
  • 如何使用 JPA 实现分页查询并返回 VO 对象
  • 东部新区文化旅游体育局莅临园区考察入驻企业
  • springboot534售楼管理系统(论文+源码)_kaic
  • 关于HarmonyOS Next中卡片的使用方法
  • ctr方法下载的镜像能用docker save进行保存吗?
  • 【老张的程序人生】一天时间,我成软考高级系统分析师
  • 6.若依数据字典
  • 日本IT|敏捷开发指的到底是什么?
  • 青少年编程与数学 02-005 移动Web编程基础 09课题、地理定位
  • 【分布式缓存中间件Memcached原理与应用】
  • leetcode 1315.祖父结点值为偶数的和
  • 【 Sonarqube】可视化Java项目单元测试覆盖率统计框架搭建
  • MySQL数据库的日志
  • typora+picgo core+minio自动上传图片
  • SqlSession的线程安全问题源码分析
  • 2025.01.01(IO模型分类,超时检测,抓包分析,机械臂客户端)
  • Python软体中在AWS Lambda上部署Python应用:一站式部署指南
  • QT---------QT框架功能概述
  • SQL Server详细使用教程(包含启动SQL server服务、建立数据库、建表的详细操作) 非常适合初学者
  • Go小技巧易错点100例(二十)