669. Trim a Binary Search Tree
来源:互联网 发布:苹果电脑mac开机密码 编辑:程序博客网 时间:2024/06/05 18:56
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 2 L = 1 R = 2Output: 1 \ 2
Example 2:
Input:
3 / \ 0 4 \ 2 / 1 L = 1 R = 3Output: 3 / 2 / 1
思路:
考虑到二叉搜索树的特性,根的值肯定大于左结点的值,肯定大于右结点的值。可以利用递归的思想。
判断root的值是否在[L,R]范围内
root.val小于L的值,则直接舍弃左子树,返回继续修剪以root.right为根结点的右子树;
root.val大于R的值,则直接舍弃右子树,返回继续修剪以root.left为根结点的左子树;
在范围内,则继续修剪左子树和右子树,然后返回root.
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { public TreeNode trimBST(TreeNode root, int L, int R) { if(root == null) return root; if(root.val < L){ return trimBST(root.right,L,R); } else if(root.val > R){ return trimBST(root.left,L,R); } else{ root.left = trimBST(root.left,L,R); root.right = trimBST(root.right,L,R); return root; } }}
阅读全文
0 0
- leetcode 669. Trim a Binary Search Tree
- leetcode 669. Trim a Binary Search Tree
- leetcode 669. Trim a Binary Search Tree
- 669. Trim a Binary Search Tree
- 669. Trim a Binary Search Tree
- LeetCode 669. Trim a Binary Search Tree
- leetcode 669. Trim a Binary Search Tree
- 669. Trim a Binary Search Tree
- leetcode: 669. Trim a Binary Search Tree
- <LeetCode>669. Trim a Binary Search Tree
- leetcode 669. Trim a Binary Search Tree
- 669. Trim a Binary Search Tree
- LeetCode 669. Trim a Binary Search Tree
- [LeetCode] 669.Trim a Binary Search Tree
- 669. Trim a Binary Search Tree
- 669. Trim a Binary Search Tree
- 669. Trim a Binary Search Tree
- 669. Trim a Binary Search Tree
- Docker使用TensorFlow Serving
- 2018第六届全球云计算大会5月上海举行!
- 取石子(一)
- lintcode&九章算法——No.50 数组剔除元素后的乘积 ? 待解决
- 33.Struts-动态访问国际化资源(国家/语言切换)
- 669. Trim a Binary Search Tree
- jfinal 启动 Netty 阻塞问题
- 内置数据类型之字典,列表,元祖
- Java 笔记 之 JDK和JRE之间区别
- 【设计模式】05.装饰模式
- IT 技术学习资料分享
- 什么是CDN,content delivery network
- 设计模式:事件委托
- leetcode Evaluate Division