1class Solution {2public:3vector<vector<int>> matrixReshape(vector<vector<int>> &mat, int r, int c) {4int m = mat.size(), n = mat[0].size();5vector<vector<int>> v(r, vector<int>(c));6queue<int> q;7if (m * n == r * c) {8for (int i = 0; i < m; i++) {9for (int j = 0; j < n; j++) {10q.push(mat[i][j]);11}12}13for (int i = 0; i < r; i++) {14for (int j = 0; j < c; j++) {15v[i][j] = q.front();16q.pop();17}18}19return v;20}21return mat;22}23};