#6637. 树的分界点

树的分界点

树的分界点

题目描述

在研究二叉树的遍历序列时,小明发现:

给定一棵二叉树的中序遍历序列和后序遍历序列,如果能够确定整棵树的最高层节点,就可以用它在中序遍历序列中的位置,将整棵树划分为左子树和右子树。

现在给出一棵二叉树的两种遍历序列:

  • 第一行为中序遍历序列;
  • 第二行为后序遍历序列。

请你找到这个用于划分左右子树的关键节点,并输出它在两个序列中的位置。


输入格式

输入共两行。

第一行输入一个字符串,表示某棵二叉树的中序遍历序列。

第二行输入一个字符串,表示同一棵二叉树的后序遍历序列。


输出格式

输出两个整数,分别表示该关键节点在:

后序遍历序列中的下标 中序遍历序列中的下标

两个整数之间用一个空格隔开。

下标从 0 开始。


输入样例

DBEAC
DEBCA

输出样例

4 3

样例解释

对于给出的两个遍历序列,能够将中序遍历序列划分为左右子树的关键节点为 A

在后序遍历序列 DEBCA 中,A 的下标为 4

在中序遍历序列 DBEAC 中,A 的下标为 3

因此输出:

4 3

数据范围

设字符串长度为 n

1 ≤ n ≤ 1000

输入的两个字符串长度相同。

字符串只包含大写英文字母。

保证输入数据对应一棵合法二叉树,且每个节点的字符互不相同。


提示

二叉树的后序遍历顺序为:

左子树 → 右子树 → 当前节点

中序遍历中,某个节点左边的部分属于它的左子树,右边的部分属于它的右子树。