题目描述:

从上往下打印出二叉树的每个节点,同层节点从左至右打印。

/* 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> result;
        std::deque<TreeNode *> d;
        d.push_back(root);
        while(!d.empty()){
            TreeNode *pNode = d.front();
            d.pop_front();
            if(!pNode) continue;
            result.push_back(pNode->val);
            d.push_back(pNode->left);
            d.push_back(pNode->right);
        }
        return result;
    }
};

如有建议或其他问题,可随时给我们留言。或者到以下链接:

https://github.com/gaobaoru/code_day

Star/Fork/Push 您的代码,开源仓库需要您的贡献。

请查看Coding 题目网址和收藏Accepted代码仓库,进行coding!!!