函数题:用先序和中序序列创建二叉树,求二叉树的高度(Java语言描述)
用先序序列和中序序列创建一棵二叉树,输出它的高度。
要求 :
(1)编写先序序列和中序序列创建二叉树的方法
(2)求二叉树高度的方法
### 函数接口定义:
Java
private BTNode<Character> CreateBT11(String pre,int i, String in,int j,int n){
}
private int Height(BTNode<Character> root){
}
### 裁判测试程序样例:
Java
import java.util.Scanner;
class BTNode <E>{
E data;
BTNode<E> lchild;
BTNode<E> rchild;
public BTNode(E e)
{
data=e;
lchild=null;
rchild=null;
}
}
class BTTreeClass {
public BTNode<Character> root;
public BTTreeClass()
{
root=null;
}
public void CreateBT1(String pre,String in)
{
this.root = CreateBT11(pre,0,in,0,pre.length());
}
public int gethight()
{
return Height(root);
}
/* 请在这里填写答案 */
}
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
BTTreeClass bt = new BTTreeClass();
String pre = sc.next();
String in = sc.next();
bt.CreateBT1(pre, in);
System.out.println(bt.gethight());
sc.close();
}
}
### 输入样例:
输入有两行,第1行是先序遍历序列,第2行是中序遍历序列。
其中元素类型为字符型。
例如:
in
ABC
BAC
### 输出样例:
输出二叉树的高度。
例如:
out
2
答案:若无答案欢迎评论
要求 :
(1)编写先序序列和中序序列创建二叉树的方法
(2)求二叉树高度的方法
### 函数接口定义:
Java
private BTNode<Character> CreateBT11(String pre,int i, String in,int j,int n){
}
private int Height(BTNode<Character> root){
}
### 裁判测试程序样例:
Java
import java.util.Scanner;
class BTNode <E>{
E data;
BTNode<E> lchild;
BTNode<E> rchild;
public BTNode(E e)
{
data=e;
lchild=null;
rchild=null;
}
}
class BTTreeClass {
public BTNode<Character> root;
public BTTreeClass()
{
root=null;
}
public void CreateBT1(String pre,String in)
{
this.root = CreateBT11(pre,0,in,0,pre.length());
}
public int gethight()
{
return Height(root);
}
/* 请在这里填写答案 */
}
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
BTTreeClass bt = new BTTreeClass();
String pre = sc.next();
String in = sc.next();
bt.CreateBT1(pre, in);
System.out.println(bt.gethight());
sc.close();
}
}
### 输入样例:
输入有两行,第1行是先序遍历序列,第2行是中序遍历序列。
其中元素类型为字符型。
例如:
in
ABC
BAC
### 输出样例:
输出二叉树的高度。
例如:
out
2
答案:若无答案欢迎评论