classSolution { public: vector<vector<int>> generateMatrix(int n) { vector<vector<int>> matrix(n, vector<int>(n, 0)); int left = 0, right = n - 1; int top = 0, low = n - 1; int num = 1; while(num <= n * n) { if(top <= low ) { for(int i = left; i <= right; i++) { matrix[top][i] = num; num++; } top++; }
if(left <= right ) { for(int i = top; i <= low; i++) { matrix[i][right] = num; num++; } right--; }