1.for a two dimension vector, we must assign at least the first dimension of the vector

2.each dimension of an inner vector can be different

3.if you don't want to set a volume for vector<vector<int> > for uncertainness, you can just use a method like append to implement the structure,which is applied inBinary Tree Level Order Traversal,

4.about queue: to add an element, q.push(element); to get the first element, q.front(); to erase the first element, q.pop();

5.how to differ elements from different layers?

    use two queues rather than one

 

code:

class Solution{
public:
    vector<vector<int> > levelOrder(TreeNode*root){
        vector<vector<int> > matrix;
        if(root == NULL){
            return matrix;
        }
        queue<TreeNode*> qNode[2];
        //int row = 0;
        qNode[0].push(root);
        int index = 0;
		
        while((!qNode[0].empty())||(!qNode[1].empty())){
			 vector<int>mm;
            switch(index){
        case(0):
            while(!qNode[0].empty()){
                TreeNode* tmp = qNode[0].front();
                qNode[0].pop();
              
				mm.push_back(tmp->val);
                if(tmp->left != NULL){
                    qNode[1].push(tmp->left);
                }
                if(tmp->right != NULL){
                    qNode[1].push(tmp->right);
                }
            }
            index = 1 - index;
			matrix.push_back(mm);
            //++row;
            break;
        case(1):
			//vector<vector<int> >m;
            while(!qNode[1].empty()){
                TreeNode* tmp = qNode[1].front();
                qNode[1].pop();
                //matrix[row].push_back(tmp->val);
				mm.push_back(tmp->val);
                if(tmp->left != NULL){
                    qNode[0].push(tmp->left);
                }
                if(tmp->right!=NULL){
                    qNode[0].push(tmp->right);
                }
            }
            index = 1 - index;
            //++row;
			matrix.push_back(mm);
            }
        }
         return matrix;
    }

};

  

posted on 2014-04-29 14:54  mizz  阅读(162)  评论(0编辑  收藏  举报