题解 | #顺时针打印矩阵#
顺时针打印矩阵
https://www.nowcoder.com/practice/9b4c81a02cd34f76be2659fa0d54342a
class Solution {
public:
vector<int> printMatrix(vector<vector<int> > matrix) {
vector<int> res;
int r0 = 0;
int r1 = matrix.size() - 1;
int c0 = 0;
int c1 = matrix[0].size() - 1;
while (r0 <= r1 && c0 <= c1) {
for (int i = c0; i <= c1; i++) {
res.push_back(matrix[r0][i]);
}
for (int i = r0 + 1; i <= r1; i++) {
res.push_back(matrix[i][c1]);
}
if (r1 != r0) {
for (int i = c1 - 1; i >= c0; i--) {
res.push_back(matrix[r1][i]);
}
}
if (c1 != c0) {
for (int i = r1 - 1; i > r0; i--) {
res.push_back(matrix[i][c0]);
}
}
r0++;
r1--;
c0++;
c1--;
}
return res;
}
};
