给你一个数n生成一个包含1-n^2的螺旋形矩阵 注意事项 样例 n = 3 矩阵为 [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ] 标签 数组 class Solution { public: /** * @param n an integer * @return a square matrix */ vector<vector<int>> generateMatrix(int n) { // Write your code here vector<vector<int> > result(n,vector<int>(n,0)); if(n<=0) return result; int ori=n; int row=0,col=0; int begin=0; int i=1; for(int j=1;j<(ori+1)/2;j++){ while(col<n-1){ result[row][col]=i; i++; col++; } while(row<n-1){ result[row][col]=i; i++; row++; } while(col>begin){ result[row][col]=i; i++; col--; } while(row>begin){ result[row][col]=i; i++; row--; } col++,row++; begin++; n--; } if(ori%2!=0){ result[row][col]=i; } else{ result[row][col]=i++; result[row][++col]=i++; result[++row][col]=i++; result[row][--col]=i; } return result; } }; 如有问题请留言。 如有帮助请顶一个,你们的支持是我最大的动力。 文章均可以转载,但请注明文章链接,谢谢。