题解 | #二叉树遍历#

二叉树遍历

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")

照着王道的写的

全部评论

相关推荐

我是小红是我:学校换成中南
点赞 评论 收藏
分享
11-24 11:23
门头沟学院 C++
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务