题目:
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   2L = 1R = 2

Output:

1\2

Example 2:
Input:

    3/ \
  0   4\
    2/1L = 1R = 3

Output:

      3/ 2   /1

思路:如果节点为空,直接返回NULL; 如果节点不为空,如果当前节点的值小于L,递归右子节点;如果当前节点的值大于R,递归左子节点;如果介于L、R之间,那么root的左右子节点分别递归。

代码:

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/
class Solution {
public:TreeNode* trimBST(TreeNode* root, int L, int R) {if(root){//如果节点不为空if(root->val<L){//如果当前节点的值小于L,递归右子节点return trimBST(root->right,L,R);}if(root->val>R){//如果当前节点的值大于R,递归左子节点return trimBST(root->left,L,R);}root->left=trimBST(root->left,L,R);//如果介于L、R之间,那么root的左右子节点分别递归root->right=trimBST(root->right,L,R);return root;}else{//如果节点为空,直接返回NULLreturn NULL;}}
};

结果: 18ms

LeetCode 669. Trim a Binary Search Tree相关推荐

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

    题目: Given a binary search tree and the lowest and highest boundaries as L and R, trim the tree so th ...

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

    669. 修剪二叉搜索树 669. Trim a Binary Search Tree 题目描述 LeetCode LeetCode669. Trim a Binary Search Tree简单 J ...

  3. leetcode第一刷_Recover Binary Search Tree

    这是一道好题,思路尽管有,可是提交之后总是有数据过不了,又依照数据改改改.最后代码都没法看了.收到的教训是假设必须为自己的代码加上非常多非常多特殊的限定.来过一些特殊的数据的话.说明代码本身有非常大的 ...

  4. LeetCode 426. Convert Binary Search Tree to Sorted Doubly Linked List--转换二叉树为双向链表--Java,C++,Python解法

    题目地址:Convert Binary Search Tree to Sorted Doubly Linked List - LeetCode Convert a BST to a sorted ci ...

  5. LeetCode: 109. Convert Sorted List to Binary Search Tree

    题目 Given a singly linked list where elements are sorted in ascending order, convert it to a height b ...

  6. Convert Sorted Array to Binary Search Tree - LeetCode

    目录 题目链接 注意点 解法 小结 题目链接 Convert Sorted Array to Binary Search Tree - LeetCode 注意点 不要访问空结点 题目要求的是平衡二叉搜 ...

  7. 【leetcode】109. Convert Sorted List to Binary Search Tree

    题目如下: Given a singly linked list where elements are sorted in ascending order, convert it to a heigh ...

  8. [LeetCode]235.Lowest Common Ancestor of a Binary Search Tree

    题目 Given a binary search tree (BST), find the lowest common ancestor (LCA) of two given nodes in the ...

  9. 【链表递归构造二叉树】LeetCode 109. Convert Sorted List to Binary Search Tree

    LeetCode 109. Convert Sorted List to Binary Search Tree Solution1:我的答案 偷鸡摸狗的做法 /*** Definition for s ...

最新文章

  1. 很久没有回到我51的家啦!
  2. Android 国际化问题
  3. go使用之-编译约束
  4. [动态代理三部曲:上] - 动态代理是如何坑掉了我4500块钱
  5. matlab 动态分配内存,[Matlab科学计算之高效编程] 1. 预分配内存
  6. Kinect开发学习笔记之(七)骨骼数据的提取
  7. linux iops 监控,企业级监控软件使用zabbix key 监控IOPS状态
  8. ラブ・ストーリーは突然に(突然發生的愛情故事)歌詞
  9. Axure_RP8.0软件+汉化包
  10. Kconfig的两种用法
  11. 20200807-玻璃涨停,隔夜低开,纯碱高开,今天晚上就是空头盛宴,43500了哈哈哈,赚钱了,别做了
  12. 线性表的定义和基本操作
  13. Ubuntu16.04.4制作自定义安装光盘方案
  14. Vue 登录验证之滑动拼图验证码
  15. 百度富文本编辑器引入问题
  16. graylog+kafka+zookeeper(单机测试及源码),kafka+zookeeper组件部署(二)
  17. 微信小程序 17 个人中心和登录 的跳转
  18. Top-down Visual Saliency Guided by Captions
  19. 《MYSQL是怎样运行的》笔记|配置文件|系统变量|字符集|InnoDB存储结构|数据页结构|索引结构与使用|数据目录|表空间|连表原理|查询优化|BufferPool|事务|redo与undo|锁
  20. Scratch第一讲:scratch编程软件介绍

热门文章

  1. blender教学记录
  2. linux内核那些事之mempolicy(1)
  3. shopxo首页右侧的登录注册板块:如何隐藏或删除?
  4. js 免费语音合成 (百度AI)- 代码篇
  5. 解决“DNS_PROBE_FINISHED_NXDOMAIN”问题
  6. Emlog文章特色图生成插件分享
  7. 是谁的名字缩写_浅谈女枪 or MF之争 盘点LOL中常见的英雄英文名缩写
  8. FluidSynth(实时MIDI合成器)
  9. java的基本结构_【Java基础】基本程序设计结构
  10. 全网最新Spring Boot2.5.1整合Activiti5.22.0企业实战教程<网关篇>