#include<iostream>
#include<cstring>
#include<cstdio>
#include<windows.h>
using namespace std;
struct Node{
int val;
Node *left,*right;
Node(int val=0):val(val),left(NULL),right(NULL){}
~Node(){
if(left!=NULL) delete(left);
if(right!=NULL) delete(right);
}
};
void bianli(Node *now){
if(now==NULL) return;
cout<<now->val<<' ';
bianli(now->right);
bianli(now->left);
}
void build(Node *now){
int val;
char c;
cout<<"Please input the val: ";
cin>>val;
now->val=val;
cout<<"does node "<<val<<" have left node?(Y/N) ";
cin>>c;
if(c=='Y'){
now->left=new Node();
build(now->left);
}
cout<<"does node "<<val<<" have right node?(Y/N) ";
cin>>c;
if(c=='Y'){
now->right=new Node();
build(now->right);
}
}
int main(){
bool isContinue=1;
while(isContinue){
Node *root=new Node();
cout<<"Start Build:"<<endl;
build(root);
cout<<"Start bianli:"<<endl;
bianli(root);
cout<<endl;
system("pause");
delete(root);
}
}
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/2cf5e0fe9925bc3189098b4958df8db1ca13708f?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)