题解 | #二叉树遍历#
二叉树遍历
https://www.nowcoder.com/practice/4b91205483694f449f94c179883c1fef
#include <iostream> using namespace std; class node{ public: char data=' '; node* left=nullptr; node* right=nullptr; }; node* buildTree(int& position,string s){ char c = s[position++]; if(c =='#')return nullptr; else{ node*p = new node; p->data = c; p->left = buildTree(position, s); p->right = buildTree(position, s); return p; } } void midOrder(node*p){ if(p==nullptr)return; midOrder(p->left); cout<<p->data<<" "; midOrder(p->right); } int main() { string s;cin>>s; int index=0; node* root = buildTree(index, s); midOrder(root); } // 64 位输出请用 printf("%lld")
照着王道的写的