LeetCode 669. Trim a Binary Search Tree
题目:
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相关推荐
- 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 ...
- LeetCode 669. 修剪二叉搜索树(Trim a Binary Search Tree)
669. 修剪二叉搜索树 669. Trim a Binary Search Tree 题目描述 LeetCode LeetCode669. Trim a Binary Search Tree简单 J ...
- leetcode第一刷_Recover Binary Search Tree
这是一道好题,思路尽管有,可是提交之后总是有数据过不了,又依照数据改改改.最后代码都没法看了.收到的教训是假设必须为自己的代码加上非常多非常多特殊的限定.来过一些特殊的数据的话.说明代码本身有非常大的 ...
- 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 ...
- 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 ...
- Convert Sorted Array to Binary Search Tree - LeetCode
目录 题目链接 注意点 解法 小结 题目链接 Convert Sorted Array to Binary Search Tree - LeetCode 注意点 不要访问空结点 题目要求的是平衡二叉搜 ...
- 【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 ...
- [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 ...
- 【链表递归构造二叉树】LeetCode 109. Convert Sorted List to Binary Search Tree
LeetCode 109. Convert Sorted List to Binary Search Tree Solution1:我的答案 偷鸡摸狗的做法 /*** Definition for s ...
最新文章
- 很久没有回到我51的家啦!
- Android 国际化问题
- go使用之-编译约束
- [动态代理三部曲:上] - 动态代理是如何坑掉了我4500块钱
- matlab 动态分配内存,[Matlab科学计算之高效编程] 1. 预分配内存
- Kinect开发学习笔记之(七)骨骼数据的提取
- linux iops 监控,企业级监控软件使用zabbix key 监控IOPS状态
- ラブ・ストーリーは突然に(突然發生的愛情故事)歌詞
- Axure_RP8.0软件+汉化包
- Kconfig的两种用法
- 20200807-玻璃涨停,隔夜低开,纯碱高开,今天晚上就是空头盛宴,43500了哈哈哈,赚钱了,别做了
- 线性表的定义和基本操作
- Ubuntu16.04.4制作自定义安装光盘方案
- Vue 登录验证之滑动拼图验证码
- 百度富文本编辑器引入问题
- graylog+kafka+zookeeper(单机测试及源码),kafka+zookeeper组件部署(二)
- 微信小程序 17 个人中心和登录 的跳转
- Top-down Visual Saliency Guided by Captions
- 《MYSQL是怎样运行的》笔记|配置文件|系统变量|字符集|InnoDB存储结构|数据页结构|索引结构与使用|数据目录|表空间|连表原理|查询优化|BufferPool|事务|redo与undo|锁
- Scratch第一讲:scratch编程软件介绍
热门文章
- blender教学记录
- linux内核那些事之mempolicy(1)
- shopxo首页右侧的登录注册板块:如何隐藏或删除?
- js 免费语音合成 (百度AI)- 代码篇
- 解决“DNS_PROBE_FINISHED_NXDOMAIN”问题
- Emlog文章特色图生成插件分享
- 是谁的名字缩写_浅谈女枪 or MF之争 盘点LOL中常见的英雄英文名缩写
- FluidSynth(实时MIDI合成器)
- java的基本结构_【Java基础】基本程序设计结构
- 全网最新Spring Boot2.5.1整合Activiti5.22.0企业实战教程<网关篇>