leetCode题解之Reshape the Matrix

1、题目描述

2、分析

使用了一个队列。

 

3、代码

 1 vector<vector<int>> matrixReshape(vector<vector<int>>& nums, int r, int c) {
 2         
 3         if( nums.size() * nums[0].size()  !=  r * c )
 4             return nums;
 5         vector<vector<int>> ans;
 6         queue<int> q;
 7         for( size_t i = 0; i < nums.size() ;i++ )
 8             for( size_t j =0; j < nums[0].size() ;j++)
 9                 q.push( nums[i][j] );
10         
11         vector<int> col;
12         while( !q.empty()  )
13         {
14             col.push_back( q.front() );
15             q.pop();
16             if( col.size() == c )
17             {
18                 ans.push_back( col );
19                 col.clear();
20             }
21         }
22         
23         return ans;
24         
25     }

 

posted @ 2018-04-24 13:36  山里的小勇子  阅读(181)  评论(0)    收藏  举报