从上到下打印二叉树
从上往下打印二叉树
https://www.nowcoder.com/practice/7fe2212963db4790b57431d9ed259701?tpId=13&tqId=11175&rp=2&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking
/* 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) { queue<TreeNode*> q; vector<int> vec1; if(root!=NULL) q.push(root); while(!q.empty()) { TreeNode* p=q.front(); vec1.push_back(p->val); q.pop(); if(p->left!=NULL) q.push(p->left); if(p->right!=NULL) q.push(p->right); } return vec1; } };
简单的层序遍历
主要是学习模板类队列queue的使用
queue.push(val)元素入队
queue.pop()元素出队
queue.front()获得出队元素
queue.back()获得队列最后一个元素(最后入队的)