12.22
include
include
include
using namespace std;
struct TreeNode{
char val;
TreeNode* left;
TreeNode* right;
TreeNode(char c):val(c),left(nullptr),right(nullptr){}
};
void buildTree(const string& s,int& index,TreeNode&root){
if(index >=s.size()||s[index]=='#'){
index++;root=nullptr;
return ;
}
root=new TreeNode(s[index]);
index++;
buildTree(s,index,root->left);
buildTree(s,index,root->right);
}
void inorderTraversal(TreeNoderoot,vector
if(root==nullptr)return ;
inorderTraversal(root->left,res);
res.push_back(root->val);
inorderTraversal(root->right,res);
}
int main(){
string s;
getline(cin,s);
int index=0;
TreeNode* root=nullptr;
buildTree(s,index,root);
vector
inorderTraversal(root,res);
for(char c:res){
cout<<c<<" ";
}
cout<<endl;
return 0;
}

浙公网安备 33010602011771号