1. 程式人生 > >二叉樹層序遍歷

二叉樹層序遍歷

node res queue pop left roo 實現 nod treenode

層序遍歷:用一個隊列保存當前結點的左右孩子以實現層序遍歷,因為先訪問的結點,其左右孩子結點也要先訪問

 1 void LevelOrder(TreeNode* root,vector<int>& res){
 2     if(!root) return;
 3     queue<TreeNode*> q;
 4     TreeNode* node;
 5     q.push(root);
 6     while(!q.empty()){
 7         node=q.front();
 8         q.pop();
 9         res.push_back(node->value);
10 if(node->left) q.push(node->left); 11 if(node->right) q.push(node->right); 12 13 } 14 }

二叉樹層序遍歷