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

顺时针打印矩阵

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

#include <vector>
class Solution {
public:
    vector<int> printMatrix(vector<vector<int> > matrix) {
        vector<int> result;
        int index;
        index = min((matrix.size() + 1)/2, (matrix[0].size() + 1)/2);
        int start_x = 0, start_y = 0;
        int end_x = matrix[0].size() - 1,end_y = matrix.size() - 1;
        while (index--){
            for (int i = start_x; i <= end_x; i++)
                result.push_back(matrix[start_y][i]);
            for (int i = start_y + 1; i < end_y; i++)
                result.push_back(matrix[i][end_x]);
                
            if (start_y != end_y){
                for (int i = end_x; i >= start_x; i--)
                    result.push_back(matrix[end_y][i]);
            }
            if (start_x != end_x){
                for (int i = end_y - 1; i > start_y; i--)
                    result.push_back(matrix[i][start_x]);
            }
            start_x++;
            start_y++;
            end_x--;
            end_y--;
        }
        return result;
    }
};

全部评论

相关推荐

优秀的大熊猫在okr...:多益:此贼,必有同谋,按律,该当连坐!
你不能接受的企业文化有哪...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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