class Solution {
public:
vector<vector<int>> generateMatrix(int n) {
vector<vector<int>>result(n, vector<int>(n));
/*vector<int>temp;*/
int i = 0, j = 0, flag = 0;//flag作爲換行或者換列的標記;
for (int num = 1; num <= n*n; num++)
{
result[i][j] = num;
if (flag == 0)
{
if (j + 1 < n&&result[i][j + 1] == 0)
j++;
else
{
i++;
flag = 1;
}
}
else if (flag == 1)
{
if (i + 1 < n&&result[i + 1][j] == 0)
i++;
else
{
j--;
flag = 2;
}
}
else if (flag == 2)
{
if (j - 1 >= 0 && result[i][j - 1] == 0)
j--;
else
{
i--;
flag = 3;
}
}
else
{
if (i - 1 >= 0 && result[i - 1][j] == 0)
i--;
else
{
j++;
flag = 0;
}
}
}
return result;
}
};
59. Spiral Matrix II
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.