LeetCode之Spiral Matrix II

来源:互联网 发布:知网可以淘宝买吗 编辑:程序博客网 时间:2024/04/29 13:44
/*这道题的可以参照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;}};

0 0