二叉树遍历

二叉树遍历

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;
}
全部评论
答主您好,请问val在这里是什么作用呢?
点赞 回复
分享
发布于 2021-02-25 10:32
存储节点值
点赞 回复
分享
发布于 2021-07-08 00:08
滴滴
校招火热招聘中
官网直投

相关推荐

投递美团等公司10个岗位
点赞 评论 收藏
转发
2 收藏 评论
分享
牛客网
牛客企业服务