leetcode-华为专题-54. 螺旋矩阵

 

 

class Solution {
public:
    vector<int> spiralOrder(vector<vector<int>>& matrix) {
        vector<int> res;
        int t = 0;
        int b = matrix.size()-1;
        int l = 0;
        int r = matrix[0].size()-1;

        while(t<=b&&l<=r){
            for(int i = l; i <= r; i++){
                res.push_back(matrix[t][i]);
            }
            t++;
            if(t>b) break;

            for(int i = t; i <= b; i++){
                res.push_back(matrix[i][r]);
            }
            r--;
            if(r<l) break;

            for(int i = r; i >= l;i--){
                res.push_back(matrix[b][i]);
            }
            b--;
            if(b<t) break;

            for(int i = b; i >= t; i--){
                res.push_back(matrix[i][l]);
            }
            l++;
            if(l>r) break;
        }
        return res;
    }
};

 

posted @ 2021-08-13 20:38  三一一一317  阅读(91)  评论(0)    收藏  举报