题解 | #二叉树遍历#

二叉树遍历

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

照着王道的写的

全部评论

相关推荐

牛舌:如果我不想去,不管对方给了多少,我一般都会说你们给得太低了。这样他们就会给下一个offer的人更高的薪资了。
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务