#include class Solution { public: std::vector> matrixReshape(std::vector> &mat, int r, int c) { int m = mat.size(), n = mat[0].size(); if (m * n == r * c) { std::vector> rslt(r, std::vector(c)); for (int i = 0, k = 0, l = 0; i < m; ++i) { for (int j = 0; j < n; ++j) { rslt[k][l] = mat[i][j]; if (l < c) { ++l; } if (l == c) { l = 0; ++k; } } } return rslt; } else { return mat; } } };