669. Trim a Binary Search Tree
Posted Wanna_Go
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 2 L = 1 R = 2 Output: 1 2
Example 2:
Input: 3 / 0 4 2 / 1 L = 1 R = 3 Output: 3 / 2 / 1
给出的是二叉搜索树,先复习下什么是二叉搜索树
- 1.也就说一个根节点只有两个子树
- 2.左子树 < 根节点 < 右子树
题目的大概意思就是删除`
[L, R]`
范围外的节点/** * 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 || L > R) return null; //递归的出口 if(root.val < L)return trimBST(root.right,L,R); if(root.val > R)return trimBST(root.left,L,R); root.left = trimBST(root.left,L,R); root.right = trimBST(root.right,L,R); return root; } }
以上是关于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