/*这道题的可以参照Spiral Matrix的解法,将读取矩阵改为填充
矩阵即可。由于这里是方阵,所以其代码应该会更简单。
方法参考自:https://github.com/soulmachine/leetcode*/
class Solution {
public:
vector<vector<int> > generateMatrix(int n) {
vector<vector<int> > result(n, vector<int>(n));
int start(0), end(n-1);
int count(0); //计数用的变量
while(start < end){
for(int i = start; i < end; ++i) result[start][i] = ++count;
for(int i = start; i < end; ++i) result[i][end] = ++count;
for(int i = end; i > start; --i) result[end][i] = ++count;
for(int i = end; i > start; --i) result[i][start] = ++count;
++start;
--end;
}
if(start == end) result[start][start] = ++count;
return result;
}
};
LeetCode之Spiral Matrix II
最新推荐文章于 2022-10-27 12:17:03 发布