题解 | #螺旋矩阵#

螺旋矩阵

http://www.nowcoder.com/practice/7edf70f2d29c4b599693dc3aaeea1d31

class Solution {
public:
    vector<int> spiralOrder(vector<vector<int> >& matrix) 
    {
        vector<int>a;
        int i=0, j=-1,flag=0;
        int left = 0,right = matrix[0].size(),top = 0, bottom = matrix.size();
        if (matrix.empty()) return a;
        while (left < right && bottom > top)
        {
            while (j < right-1)
            {
                j++;
                a.push_back(matrix[i][j]);
                flag=1;
            }
            while (i < bottom-1 && flag>0)
            {
                i++;
                a.push_back(matrix[i][j]);
                flag=2;
            }
            while (j > left && flag>1)
            {   
                j--;
                a.push_back(matrix[i][j]);
                flag=3;
            }
            while (i > top+1 && flag>2)
            {
                i--;
                a.push_back(matrix[i][j]);
            }
            flag=0;
            left++, right--, top++, bottom--;
        }
        return a;
    }
};
全部评论

相关推荐

02-26 15:33
已编辑
西北大学 golang
点赞 评论 收藏
分享
04-02 16:49
门头沟学院 Java
_bloodstream_:我也面了科大讯飞,主管面的时候听说急招人优先考虑能尽快实习的,我说忙毕设,后面就一直没消息了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务