二叉树层次遍历(每次获得该层宽度)
求二叉树的层序遍历
http://www.nowcoder.com/questionTerminal/04a5560e43e24e9db4595865dc9c63a3
class Solution { public: vector<vector<int> > levelOrder(TreeNode* root) { vector<vector<int>> ans; if(!root)return ans; queue<TreeNode*> q; q.push(root); while(!q.empty()){ vector<int> vt; int size = q.size();// 该层节点个数 while(size--){ //该层所有节点的所有孩子入队。 TreeNode *tmp= q.front(); vt.push_back(tmp->val); // 该层节点存放在vt中 q.pop(); if(tmp->left) {q.push(tmp->left);} // 孩子节点入队 if(tmp->right){q.push(tmp->right);} } ans.push_back(vt); // 该层节点存放在ans中 继续循环下层节点。 } return ans; } };