【輸入形式】給定一個正整數序列,采用先序方式構建該二叉樹,判定該樹是否為二叉排序樹,是則輸出序列最后一個整數,否則輸出序列第一個整數。
【輸出形式】元素之間采用空格分隔,空用 -1表示
【樣例輸入】是二叉排序樹輸出序列最后一個整數,否則輸出序列第一個整數。
【樣例輸出】10 8 -1 -1 12 -1 -1
【樣例輸入】12
【樣例輸出】10 12 -1 -1 8 -1 -1
C++代碼10
#includeusing namespace std;
#includeint pre = -1, cnt = 0, A[100];
struct tree {int data;
tree* lchild, * rchild;
};
tree* Create() {tree* t;
int data;
cin >>data;
if (data == -1)
t = NULL;
else {t = new tree;
t->data = data;
A[cnt++] = data;
t->lchild = Create();
t->rchild = Create();
}
return t;
}
bool IsBST(tree* t) {if (t == NULL) return true;
bool flag = IsBST(t->lchild);
if (t->data< pre || flag == false) return false;
else pre = t->data;
flag = IsBST(t->rchild);
return flag;
}
int main() {tree* t = Create();
if (IsBST(t)) cout<< A[cnt - 1]<< endl;
else cout<< t->data<< endl;
return 0;
}
你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧
分享文章:二叉排序樹的判定-創新互聯
文章分享:http://m.newbst.com/article18/dgihdp.html
成都網站建設公司_創新互聯,為您提供軟件開發、小程序開發、ChatGPT、靜態網站、品牌網站建設、網站策劃
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯