#800. 修剪BST

    ID: 800 传统题 2000ms 512MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>二叉搜索树创建二叉搜索树插入和删除二叉搜索树遍历

修剪BST

题目描述

输入一列整数,请你按顺序插入并创建二叉搜索树。之后两个值low和high(low<=high),修剪该树使得所有节点的值都在>=low,并且<=high。 也就是删除不在[low,high]范围内的所有结点。注意剪枝要保持二叉搜索树的特性(左子树<根<右子树)。 输出修剪后的二叉搜索树的中序和后序序列。

输入格式

2行。第1行一个整数n(1<n)。第2行,n个空格隔开的整数(值不重复)。第3行两个整数low和high(保证low<=high) 。

输出格式

输出修剪后的二叉搜索树的中序和后序序列。

样例

输入样例 1

9
6 2 8 0 4 7 9 3 5
3 8

输出样例 1

3 4 5 6 7 8
3 5 4 7 8 6

输入样例 2

20
-1 3 -11 20 131 11 29 -30 -100 7 17 56 245 121 -120 -12 120 111 0 200
0 100

输出样例 2

0 3 7 11 17 20 29 56
0 7 17 11 56 29 20 3

输入样例 3

20
-1 3 -11 20 131 11 29 -30 -100 7 17 56 245 121 -120 -12 120 111 0 200
-200 0

输出样例 3

-120 -100 -30 -12 -11 -1 0
-120 -100 -12 -30 -11 0 -1