问题描述:
Given a positive integer n, generate a square matrix filled with elements from 1 to n2 in spiral order.
Example:
Input: 3 Output: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ]
源码:
很简单,和第54题Spiral Matrix很像。
class Solution {
public:
vector<vector<int>> generateMatrix(int n) {
vector<vector<int>> result(n, vector<int>(n, 0));
int count = 1;
for(int index=0; index*2<n; index++){
for(int i=index; i<=n-index-1; i++)
result[index][i] = count++;
for(int i=index+1; i<=n-index-1; i++)
result[i][n-index-1] = count++;
for(int i=n-index-2; i>=index; i--)
result[n-index-1][i] = count++;
for(int i=n-index-2; i>=index+1; i--)
result[i][index] = count++;
}
return result;
}
};