Spiral Matrix II
Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order.
For example,
Given n = 3,
You should return the following matrix:
[ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ]
解题思路:
http://blog.csdn.net/kangrydotnet/article/details/44727955的姐妹篇。不停的进行扫描而已。注重分析能力。
源代码:
class Solution {
public:
vector > generateMatrix(int n) {
int** d=new int*[n];
for(int i=0; i=y; i--){
d[n-x-1][i]=data;
data++;
}
//赋值左边
for(int i=n-x-2; i>x; i--){
d[i][y] = data;
data++;
}
x++;
y++;
}
vector> result;
for(int i=0; i row;
for(int j=0; j
二次刷题(update in 2015-07-29)
class Solution {
public:
vector> generateMatrix(int n) {
if(n<=0){
vector> result;
return result;
}
vector> result(n, vector(n, 0));
int layer = 0;
int num = 0;
while(num=n*n){
break;
}
//南边
for(int i=n-1-layer-1; i>=layer; i--){
result[n-1-layer][i] = ++num;
}
//西边
for(int i=n-1-layer-1; i>layer; i--){
result[i][layer] = ++num;
}
layer++;
}
return result;
}
};
转载请注明: » [LeetCode] Spiral Matrix II
<!--
-->
原文作者:;如有侵权,请联系管理员删除。