776 拆分二叉搜索树

根据给定的目标值V,将二叉搜索树拆分为两部分:一部分节点值小于等于V,另一部分节点值大于V。保留原始树的结构,返回两个子树的根节点。示例中,输入为[4,2,6,1,3,5,7],V=2,输出结果为[[2,1],[4,3,6,null,null,5,7]]。" 103898614,7868593,Spring IOC详解:从基础到扩展,"['Spring框架', '依赖注入', 'IoC容器', '注解编程', 'Java开发']
摘要由CSDN通过智能技术生成

题目描述:
给你一棵二叉搜索树(BST)、它的根结点 root 以及目标值 V。
请将该树按要求拆分为两个子树:其中一个子树结点的值都必须小于等于给定的目标值 V;另一个子树结点的值都必须大于目标值 V;树中并非一定要存在值为 V 的结点。

除此之外,树中大部分结构都需要保留,也就是说原始树中父节点 P 的任意子节点 C,假如拆分后它们仍在同一个子树中,那么结点 P 应仍为 C 的子结点。

你需要返回拆分后两个子树的根结点 TreeNode,顺序随意。

示例:
输入:root = [4,2,6,1,3,5,7], V = 2
输出:[[2,1],[4,3,6,null,null,5,7]]
解释:
注意根结点 output[0] 和 output[1] 都是 TreeNode 对象,不是数组。
给定的树 [4,2,6,1,3,5,7] 可化为如下示意图:

      4
    /   \
  2      6
 / \    / \
1   3  5   7

输出的示意图如下:

      4
    /   \
  3      6       和    2
        / \           /
       5   7         1

提示:
二叉搜索树节点个数不超过 50
二叉搜索树始终是有效的,并且每个节点的值都不相同

方法1:
主要思路:
(1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值