566 LeetCode重塑矩阵 及vector存放vector的书写

一曲冷凌霜 提交于 2020-02-07 08:13:00

题目描述:
在这里插入图片描述
在这里插入图片描述
思路:重新构造矩阵,即重新赋值;
首先,把原矩阵里面里面所有值都放在一个vector里面(以便后面使用);
然后,判断将要构造的矩阵的大小与原矩阵的大小;
最后,如果能构造新矩阵,就按照给定的行与列重新赋值;

代码如下:

class Solution {
public:
    vector<vector<int>> matrixReshape(vector<vector<int>>& nums, int r, int c) {
        vector<vector<int>> res(r,vector<int>(c));
        vector<int> n;
        for(int i=0;i<nums.size();i++){
            for(int j=0;j<nums[i].size();j++){
                n.push_back(nums[i][j]);
            }
        }
        if(r*c!=n.size())  return nums;
        int k=0;
        for(int i=0;i<r;i++){
            int j=0;
            while(j<c&&k<n.size()){
                res[i][j]=n[k];
                j++;
                k++;
            }
        }
    return res;
    }
};
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!