class Solution {

public:

    vector<int> spiralOrder(vector<vector<int>>& matrix) {

        int em=matrix.size();

        int en=matrix[0].size();

        vector<int>a;

        int a0=0;

        int b0=en;

        int c0=0;

        int d0=em;

        int e0=0;

        while(d0>c0&&b0>a0)

        {

            for(int i=a0;i<b0&&c0<d0;i++)

            {

                a.push_back(matrix[c0][i]);

            }

            c0++;

            for(int j=c0;j<d0&&a0<b0;j++)

            {

                a.push_back(matrix[j][b0-1]);

            }

            b0--;

            for(int i=b0-1;i>=a0&&c0<d0;i--)

            {

                a.push_back(matrix[d0-1][i]);

            }

            d0--;

            for(int j=d0-1;j>=c0&&b0>a0;j--)

            {

                a.push_back(matrix[j][a0]);

            }

            a0++;

        }

        return a;

    }

};

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐