class Solution { public: vector<vector<int>> generateMatrix(int n) { if(n==0)//特殊情况 { vector<vector<int>> empty; return empty; } vector<vector<int>> res; for(int i=0;i<n;i++)//要先初始化 { vector<int> zeros; for(int j=0;j<n;j++) zeros.push_back(0); res.push_back(zeros); } int num=1; for(int i=0;i<=(n-1)/2;i++) { for(int j=i;j<(n-i);j++)//还是分析,第一行 { res[i][j]=num; num++; } for(int j=i+1;j<(n-i);j++)//最后一列 { res[j][n-1-i]=num; num++; } for(int j=n-2-i;j>=i;j--)//最后一行 { res[n-1-i][j]=num; num++; } for(int j=n-2-i;j>i;j--)//第一列 { res[j][i]=num; num++; } } return res; } };
分析:
今天散会早,忍不住又做了一道。和上个题异曲同工,但是这里需要初始化一下。
原文地址:https://www.cnblogs.com/CJT-blog/p/10596914.html
时间: 2024-11-01 11:21:35