博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
G - 数据结构实验之二叉树七:叶子问题
阅读量:766 次
发布时间:2019-03-23

本文共 1063 字,大约阅读时间需要 3 分钟。

Description

已知一个按先序输入的字符序列,如abd,eg,cf,(其中,表示空结点)。请建立该二叉树并按从上到下从左到右的顺序输出该二叉树的所有叶子结点。

Input

输入数据有多行,每一行是一个长度小于50个字符的字符串。

Output

按从上到下从左到右的顺序输出二叉树的叶子结点。

Sample

Input

abd,eg,cf,
xnl,i,u,

Output

dfg
uli

#include 
#include
using namespace std;typedef struct node{
char data; node *l,*r;}Tree;char pre[55];int cnt=0;Tree* buildtree_pre(){
if(pre[cnt]==',') {
cnt++; return NULL; } Tree *root = new Tree; root->data = pre[cnt++]; root->l = buildtree_pre(); root->r = buildtree_pre(); return root;}//思路和层次遍历差不多void leave_out(Tree *root){
queue
t; t.push(root); while(!t.empty()) {
root = t.front(); t.pop(); if(root) {
if(!root->l && !root->r) cout<
data; t.push(root->l); t.push(root->r); } }}int main(){
ios::sync_with_stdio(false); Tree *root; while(cin>>pre) {
cnt=0; root = buildtree_pre(); leave_out(root); cout<

转载地址:http://jaezk.baihongyu.com/

你可能感兴趣的文章