二叉树遍历

二叉树遍历

http://www.nowcoder.com/questionTerminal/4b91205483694f449f94c179883c1fef

水题,直接构造就行。因为是一棵完全二叉树

#include<iostream>
#include<string>
using namespace std;
struct Node{
    Node *left;
    Node *right;
    char val;
    Node(char x):val(x),left(NULL),right(NULL){}
}; 
string s;
Node* creatTree(int &i){
    if(s[i]=='#')return NULL;
    Node *node=new Node(s[i]);
    node->left=creatTree(++i);
    node->right=creatTree(++i);
    return node;
}
void inOrder(Node *root){
    if(root==NULL)return ;
    inOrder(root->left);
    cout<<root->val<<" ";
    inOrder(root->right);
}
int main(){
    while(cin>>s){
        int i=0;
        Node *root=creatTree(i);
        inOrder(root);
        cout<<endl;
    }
    return 0;
}
全部评论
存储节点值
点赞 回复 分享
发布于 2021-07-08 00:08
答主您好,请问val在这里是什么作用呢?
点赞 回复 分享
发布于 2021-02-25 10:32

相关推荐

04-28 11:34
西北大学 运营
牛客4396号:不好意思,这个照片猛一看像丁真
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务