題目:從上往下打印出二叉樹的每個(gè)節(jié)點(diǎn),同層節(jié)點(diǎn)從左至右打印。(BFS)
采用H5高端網(wǎng)站建設(shè)+css3國(guó)際標(biāo)準(zhǔn)網(wǎng)站建設(shè),讓網(wǎng)站自動(dòng)適應(yīng)用戶使用終端設(shè)備,PC、平板、手機(jī)等,一個(gè)網(wǎng)址適應(yīng),一套內(nèi)容統(tǒng)一戰(zhàn)略,節(jié)約企業(yè)資源。創(chuàng)新互聯(lián)還提供網(wǎng)站后期營(yíng)銷如:軟文發(fā)稿、友情鏈接、一元廣告等。一般建站公司不為企業(yè)填充資料,更談不上內(nèi)容策劃,結(jié)果導(dǎo)致網(wǎng)站界面優(yōu)秀,內(nèi)容卻十分空泛或整體不協(xié)調(diào),內(nèi)容策劃、內(nèi)容填充請(qǐng)交給我們。
思路:
根據(jù)題目,想到層序遍歷時(shí),按照從上到下,從左到右的訪問(wèn)每一個(gè)結(jié)點(diǎn),用到一個(gè)輔助隊(duì)列(先進(jìn)先出才能保證從左到右的訪問(wèn))。
代碼:
/* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { } };*/ class Solution { public: vectorPrintFromTopToBottom(TreeNode *root) { //保存打印序列 vector v1; //先進(jìn)先出 queue q1; if(root==NULL) { return v1; } q1.push(root); v1.push_back(root->val); while(!q1.empty()) { TreeNode* tmp=q1.front(); q1.pop(); if(tmp->left!=NULL) { q1.push(tmp->left); v1.push_back(tmp->left->val); } if(tmp->right!=NULL) { q1.push(tmp->right); v1.push_back(tmp->right->val); } } return v1; } };