#include <iostream> #include <string> using namespace std; struct BiTree {//树结点结构体 char c; BiTree* left; BiTree* right; } Tree; int index = 0; string s;//存储输入的先序序列 void createTree(BiTree*& T) {//记得加&,带回结果 //空或者结束就赋值为NULL if (index >= s.length() || s[index++] == '#') T = NULL; else {//否则就正常建立节点 T = new BiTree; T->c = s[index - 1]; createTree(T->left);//递归处理一下左右孩子 createTree(T->right); } } void inorder(BiTree* T) {//中序遍历输出 if (T) { inorder(T->left); cout << T->c << " "; inorder(T->right); } } int main() { getline(cin, s); BiTree* T = NULL;//初始化树的指针 createTree(T); inorder(T); } // 64 位输出请用 printf("%lld")