1 static int wing=[]()
 2 {
 3     std::ios::sync_with_stdio(false);
 4     cin.tie(NULL);
 5     return 0;
 6 }();
 7 
 8 class Solution 
 9 {
10 public:
11     vector<vector<int>> matrixReshape(vector<vector<int>>& nums, int r, int c) 
12     {
13         int pr=nums.size();
14         int pl=nums[0].size();
15         if(pr*pl!=r*c)
16             return nums;
17         vector<vector<int>> res(r);
18         vector<int> cur(c);
19         int j=0,k=0;
20         for(auto &v:nums)
21         {
22             for(int i:v)
23             {
24                 cur[j++]=i;
25                 if(j==c)
26                 {
27                     j=0;
28                     res[k++]=cur;
29                 }
30             }
31         }
32         return res;
33     }
34 };

扫描原容器每一个元素,新建一个符合结果要求的容器,将每个元素依次放入容器中,放满了再将此容器放入结果中。

posted on 2018-06-05 14:38  高数考了59  阅读(111)  评论(0)    收藏  举报