水题,直接构造就行。因为是一棵完全二叉树
#include<iostream>
#include<string>
using namespace std;
struct Node{
Node *left;
Node *right;
char val;
Node(char x):val(x),left(NULL),right(NULL){}
};
string s;
Node* creatTree(int &i){
if(s[i]=='#')return NULL;
Node *node=new Node(s[i]);
node->left=creatTree(++i);
node->right=creatTree(++i);
return node;
}
void inOrder(Node *root){
if(root==NULL)return ;
inOrder(root->left);
cout<<root->val<<" ";
inOrder(root->right);
}
int main(){
while(cin>>s){
int i=0;
Node *root=creatTree(i);
inOrder(root);
cout<<endl;
}
return 0;
}


京公网安备 11010502036488号