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