题解 | #从上往下打印二叉树#

从上往下打印二叉树

https://www.nowcoder.com/practice/7fe2212963db4790b57431d9ed259701

int* PrintFromTopToBottom(struct TreeNode* root, int* returnSize ) {
    // write code here
    //层次遍历
    if(!root){
        return NULL;
    }
    //数组tree用于存储已访问过的结点的值,数组temp用于存储访问到的结点地址
    //添上首尾指针,使temp在逻辑上形成一个队列,n用于记录结点数
    int *tree=malloc(1000*sizeof(int)),*temp[1000],top=-1,rear=-1,n=0;
    struct TreeNode* p=root;
    temp[++top]=p;
    while(top!=rear){
        p=temp[++rear];
        tree[n++]=*temp[rear];
        if(p->left){
            temp[++top]=p->left;
        }
        if(p->right){
            temp[++top]=p->right;
        }
    }
    *returnSize=n;
    return tree;
}

全部评论

相关推荐

重生我想学测开:嵌入式的问题,我准备入行京东外卖了
点赞 评论 收藏
分享
迷茫的大四🐶:自信一点,我认为你可以拿到50k,低于50k完全配不上你的能力,兄弟,不要被他们骗了,你可以的
点赞 评论 收藏
分享
想申请延毕了,找工作找到崩溃,越找就越想摆烂,还有25届的和我一样感受吗?
码农索隆:没事哒,好兄弟,慢慢来,调整心态,车到山前必有路,感到迷茫的时候,多抬头看看
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务