标签:style blog color io for div amp res
这道题实质是用螺旋线的形式遍历二维数组,而且这种遍历方式有很强的规律性,从最外层开始一直到最里层,而且每层都按顺时针的方向遍历。根据这种规律性,我们可以用两层循环,在遍历的同时对二维数组对应元素重新赋值,第一层循环是层数遍历,第二层循环是每一层元素遍历(值得注意的一点是顺时针遍历)。
class Solution { public: vector<vector<int> > generateMatrix(int n) { vector<vector<int>> res = vector<vector<int>>(n,vector<int>(n,0));
//层数遍历 for(int i = 0; i <= n/2; i++){
//top for(int col = i; col < n - i; col++){ if(i == 0 && col == 0) res[i][col] = 1; else res[i][col] = res[i][col-1] + 1; }
//right for(int row = i + 1; row < n - i; row++) res[row][n-i-1] = res[row-1][n-i-1] + 1;
//down for(int col = n-i-2; col >= i; col--){ res[n-i-1][col] = res[n-i-1][col+1] + 1; }
//left for(int row = n-i-2; row > i; row--){ res[row][i] = res[row+1][i] + 1; } } return res; } };
Spiral Matrix II,布布扣,bubuko.com
标签:style blog color io for div amp res
原文地址:http://www.cnblogs.com/Kai-Xing/p/3885328.html