题解 | #顺时针打印矩阵#

顺时针打印矩阵

http://www.nowcoder.com/practice/9b4c81a02cd34f76be2659fa0d54342a

class Solution {
public:
    vector<int> printMatrix(vector<vector<int> > matrix) {
        vector<int> list;
        int up = 0;
        int down = matrix.size()-1;
        int left = 0;
        int right = matrix[0].size()-1;
        while(true) {
            for(int i=left;i<=right;i++)
                list.push_back(matrix[up][i]);
            up++;
            if(up>down)
                break;
            for(int i=up;i<=down;i++)
                list.push_back(matrix[i][right]);
            right--;
            if(left>right)
                break;
            for(int i=right;i>=left;i--)
                list.push_back(matrix[down][i]);
            down--;
            if(up>down)
                break;
            for(int i=down;i>=up;i--)
                list.push_back(matrix[i][left]);
            left++;
            if(left>right)
                break;
        }
        return list;
    }
};
全部评论

相关推荐

点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务