剑指offer——面试题23:从上往下打印二叉树

来源:互联网 发布:怎么给淘宝图片加保护 编辑:程序博客网 时间:2024/06/03 22:07

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

    代码:

/*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> vec1;        if(root == NULL)            return vec1;        queue <TreeNode*> qNode;        qNode.push(root);        while(!qNode.empty())        {            int size = qNode.size();            while(size--)            {                TreeNode* tempNode = qNode.front();                qNode.pop();                vec1.push_back(tempNode->val);                if(tempNode->left != NULL)                    qNode.push(tempNode->left);                if(tempNode->right != NULL)                    qNode.push(tempNode->right);            }        }        return vec1;    }};

    分析:和我前几天做的题很像,分析就略过。详细可参考我的另外一篇博客:剑指offer——面试题60:把树打印成多行

阅读全文
2 0
原创粉丝点击