leetcode 669. Trim a Binary Search Tree修剪二叉搜索树
来源:互联网 发布:linux 看目录本身权限 编辑:程序博客网 时间:2024/06/07 23:03
问题描述:
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.
分析:
考虑到二叉搜索树的特性,根的值肯定大于左结点的值,肯定大于右结点的值。可以利用递归的思想。
判断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 Trim a Binary Search Tree 修剪二叉搜索树
- leetcode 669. Trim a Binary Search Tree修剪二叉搜索树
- leetcode 669. Trim a Binary Search Tree 修建二叉搜索树BST + 深度优先遍历DFS
- leetcode 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
- leetcode 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
- LeetCode 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
- Trim a Binary Search Tree(leetcode)
- leetcode- Add to List 669. Trim a Binary Search Tree
- 【LeetCode】669.Trim a Binary Search Tree解题报告
- FCC--Pig Latin(儿童黑话)
- C语言使用动态链接库静态链接库
- 关于java static 关键字
- oracle delete from和 truncate区别
- H5使用js追加表格进行操作
- leetcode 669. Trim a Binary Search Tree修剪二叉搜索树
- Retrofit上传多张图片
- 转载 Linux内存管理(最透彻的一篇)
- SSM整合百度富文本编辑器ueditor二
- 一些开源项目汇总地址
- AndroidStudio3.0开发调试安卓NDK的C++代码
- yii2.0框架深入解析学习
- Android浏览器开源项目
- MVP结合(RecycleView,Retorfit,GreenDao和EventBus)数据展示