class Solution {
public:
vector<vector<int> > generateMatrix(int n) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
vector<vector<int> > vecs;
for (int i = 0; i < n; ++i)
{
vector<int> vec;
for (int j = 0; j < n; ++j)
{
vec.push_back(0);
}
vecs.push_back(vec);
}
int val = 0;
for (int i = 0; (i << 1) < n; ++i)
{
int beg = i;
int end = n - 1 - i;
for (int j = beg; j <= end; ++j)
{
vecs[beg][j] = ++val;
}
for (int j = beg + 1; j <= end; ++j)
{
vecs[j][end] = ++val;
}
if (beg < end)
{
for (int j = end - 1; j >= beg; --j)
{
vecs[end][j] = ++val;
}
for (int j = end - 1; j > beg; --j)
{
vecs[j][beg] = ++val;
}
}
}
return vecs;
}
};
LeetCode-Spiral Matrix II
最新推荐文章于 2024-09-25 13:54:13 发布