22、从上往下打印二叉树 过,经典题目

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

{5,4,#,3,#,2,#,1}

返回值

[5,4,3,2,1]
1、迭代做法,借助队列,比较简单
    vector<int> PrintFromTopToBottom(TreeNode* root) {

    vector<int> result;
    if (root == nullptr) return result;
    queue<TreeNode*>  q;
    q.push(root);
    TreeNode* node;
    while (!q.empty()) {
        node = .front();
        result.push_back(node->val);
        if (node->left) q.push(node->left);
        if (node->right) q.push(node->right);
        q.pop();