练习4.2 平衡二叉树的根 (25分)
将给定的一系列数字插入初始为空的AVL树,请你输出最后生成的AVL树的根结点的值。
输入格式:
输入的第一行给出一个正整数N(≤20),随后一行给出N个不同的整数,其间以空格分隔。
输出格式:
在一行中输出顺序插入上述整数到一棵初始为空的AVL树后,该树的根结点的值。
输入样例1:
5
88 70 61 96 120
输出样例1:
70
输入样例2:
7
88 70 61 96 120 90 65
输出样例2:
88
思路:直接建立了一个平衡二叉树,一个个插入,傻方法。
坑:无
#include <iostream>
#include <cstdio>
using namespace std;
typedef struct Node{
int key;
struct Node *left,*right;
int height;
}BTNode;
int max(int a,int b){
return a>b?a:b;
}
int height(BTNode *n){
if(n==NULL)
return 0;
return n->height;
}
BTNode *newNode(int key){
BTNode *n=new BTNode;
n->key=key;
n->left=NULL;
n->right=NULL;
n