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

从上往下打印二叉树

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

/*
struct TreeNode {
    int val;
    struct TreeNode *left;
    struct TreeNode *right;
    TreeNode(int x) :
            val(x), left(NULL), right(NULL) {
    }
};*/
//本题的简单之处在于是从上到下的不分行打印,即结果只需要放进一个一维数组了即可
class Solution {
public:
    vector<int> PrintFromTopToBottom(TreeNode* root) {

        vector<int> res;
        queue<TreeNode*> que;//队列
        if(root==NULL)
            return res;
        que.push(root);//将根节点入队
        while(!que.empty()){//当队列非空时
            TreeNode* temp=que.front();
            que.pop();//出队
            res.push_back(temp->val);
            if(temp->left){//左孩子不为空时,入队
                que.push(temp->left);
            }
            if(temp->right){
                que.push(temp->right);
            }
        }
        return res;
        
    }
};
全部评论

相关推荐

07-16 17:55
门头沟学院 Java
点赞 评论 收藏
分享
Twilight_m...:还是不够贴近现实,中关村那块60平房子200万怎么可能拿的下来,交个首付还差不多
点赞 评论 收藏
分享
湫湫湫不会java:先投着吧,大概率找不到实习,没实习的时候再加个项目,然后把个人评价和荣誉奖项删了,赶紧成为八股战神吧,没实习没学历,秋招机会估计不多,把握机会。或者说秋招时间去冲实习,春招冲offer,但是压力会比较大
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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