天津建站服务,进入百度首页官网,职业教育培训机构排名前十,承德建站公司https://oj.leetcode.com/problems/spiral-matrix/ 题目没难度#xff0c;就是循环把每一层的螺旋打印出来即可。需要注意每次螺旋大小缩小2#xff0c;计算相应的位置并考虑左边界等于右边界的情况。 class Solution {
public:int n,m;int cn,cm;vector int tot;vec…https://oj.leetcode.com/problems/spiral-matrix/ 题目没难度就是循环把每一层的螺旋打印出来即可。需要注意每次螺旋大小缩小2计算相应的位置并考虑左边界等于右边界的情况。 class Solution {
public:int n,m;int cn,cm;vector int tot;vectorvectorint matrix;void Print(){int l(m-cm)/2;int u(n-cn)/2;int rm-l-1;int dn-l-1;if (lr){for (int iu;id;i){tot.push_back(matrix[i][l]);}return;}if (ud){for (int il;ir;i){tot.push_back(matrix[u][i]);}return;}for (int il;ir;i){tot.push_back(matrix[u][i]);}for (int iu;id;i){tot.push_back(matrix[i][r]);}for (int ir;il;i--){tot.push_back(matrix[d][i]);}for (int id;iu;i--){tot.push_back(matrix[i][l]);}}vectorint spiralOrder(vectorvectorint matrix) {this-matrixmatrix;nmatrix.size();if (n0){return tot;}mmatrix[0].size();if (m0){return tot;}cnn;cmm;while(cn0 cm0){Print();cn-2;cm-2;}return tot;}
};转载于:https://www.cnblogs.com/yangsc/p/4007889.html