题解 | #顺时针打印矩阵#
顺时针打印矩阵
https://www.nowcoder.com/practice/9b4c81a02cd34f76be2659fa0d54342a
#include <vector>
class Solution {
public:
vector<int> printMatrix(vector<vector<int> > matrix) {
vector<int> result;
int index;
index = min((matrix.size() + 1)/2, (matrix[0].size() + 1)/2);
int start_x = 0, start_y = 0;
int end_x = matrix[0].size() - 1,end_y = matrix.size() - 1;
while (index--){
for (int i = start_x; i <= end_x; i++)
result.push_back(matrix[start_y][i]);
for (int i = start_y + 1; i < end_y; i++)
result.push_back(matrix[i][end_x]);
if (start_y != end_y){
for (int i = end_x; i >= start_x; i--)
result.push_back(matrix[end_y][i]);
}
if (start_x != end_x){
for (int i = end_y - 1; i > start_y; i--)
result.push_back(matrix[i][start_x]);
}
start_x++;
start_y++;
end_x--;
end_y--;
}
return result;
}
};
MDPI公司福利 433人发布