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

顺时针打印矩阵

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

class Solution {
public:
    vector<int> printMatrix(vector<vector<int> > matrix) {
        vector<int> res;
        int r0 = 0;
        int r1 = matrix.size() - 1;
        int c0 = 0;
        int c1 = matrix[0].size() - 1;
        while (r0 <= r1 && c0 <= c1) {
            for (int i = c0; i <= c1; i++) {
                res.push_back(matrix[r0][i]);
            }
            for (int i = r0 + 1; i <= r1; i++) {
                res.push_back(matrix[i][c1]);
            }
            if (r1 != r0) {
                for (int i = c1 - 1; i >= c0; i--) {
                    res.push_back(matrix[r1][i]);
                }
            }
            if (c1 != c0) {
                for (int i = r1 - 1; i > r0; i--) {
                    res.push_back(matrix[i][c0]);
                }
            }
            r0++;
            r1--;
            c0++;
            c1--;
        }
        return res;
    }
};

全部评论

相关推荐

后端转测开第一人:wlb不好吗 非得卷
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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