54. 螺旋矩阵 - 力扣(LeetCode)
代码区:
class Solution {
public:vector<int> spiralOrder(vector<vector<int>>& matrix) {vector<int> ans;int hang=matrix.size();int lie=matrix[0].size();int start_hang=0,start_lie=0,end_hang=hang-1,end_lie=lie-1;int step=hang*lie;while(step>=1){if(start_hang > end_hang || start_lie > end_lie) break;for(int i=start_lie;i<=end_lie;i++){//行不变,列增加ans.push_back(matrix[start_hang][i]);step--;}start_hang++;if(start_hang > end_hang || start_lie > end_lie) break;for(int i=start_hang;i<=end_hang;i++){//列不变,行增加ans.push_back(matrix[i][end_lie]);step--;}end_lie--;if(start_hang > end_hang || start_lie > end_lie) break;for(int i=end_lie;i>=start_lie;i--){//行不变,列减小ans.push_back(matrix[end_hang][i]);step--;}end_hang--;if(start_hang > end_hang || start_lie > end_lie) break;for(int i=end_hang;i>=start_hang;i--){//列不变,行增加ans.push_back(matrix[i][start_lie]);step--;}start_lie++;}return ans;}
};
欢迎各位读者提出意见。
(菜菜奋斗小日记)