输入格式:
输出格式:
输入样例:
HDAC*BGFE**
输出样例:
ADCBHFEG
ABCDEFGH
解题代码
#include<bits/stdc++.h>
using namespace std;
string str;
int len=0;
template<class T>
class Tree{
public:
Tree(){
root=NULL;
}
struct treeNode{
T data;
treeNode *L_child,*R_child;
treeNode(T d){
data=d;
}
};
treeNode *root;
treeNode* createNode()
{
treeNode *t;
if(len>=str.size()){
return NULL;
}
T data = str[len++];
if(data=='*'){
t=NULL;
}else{
t=new treeNode(data);
t->L_child=createNode();
t->R_child=createNode();
}
return t;
};
void LNR(treeNode *node);
void LRN(treeNode *node);
};
template<class T>
void Tree<T>::LNR(treeNode *node)
{
if(node!=NULL){
LNR(node->L_child);
cout<<node->data;
LNR(node->R_child);
}
}
template<class T>
void Tree<T>::LRN(treeNode *node)
{
if(node!=NULL){
LRN(node->L_child);
LRN(node->R_child);
cout<<node->data;
}
}
int main()
{
while(cin>>str){
len=0;
Tree<char> *tree = new Tree<char>();
tree->root=tree->createNode();
tree->LNR(tree->root);
cout<<endl;
tree->LRN(tree->root);
cout<<endl;
}
}
解题思路