题解 | #顺时针旋转矩阵#

顺时针旋转矩阵

http://www.nowcoder.com/practice/2e95333fbdd4451395066957e24909cc

旋转关系: mat[j][n-i-1] = mat[i][j];

开辟新空间:

class Solution {
public:
    vector<vector<int> > rotateMatrix(vector<vector<int> > mat, int n) {
        // write code here
        vector<vector<int> > ans(n, vector<int>(n,0));
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
                ans[j][n-i-1] = mat[i][j];
            }
        }
        return ans;
    }
};

原地:

class Solution {
public:
    vector<vector<int> > rotateMatrix(vector<vector<int> > mat, int n) {
        //上下对称交换
        for(int i = 0; i < n/2; i++){
            for(int j = 0; j < n; j++){
                swap(mat[i][j], mat[n-i-1][j]);
            }
        }
        //主对角线交换
        for(int i = 0; i < n; i++){
            for(int j = i+1; j < n; j++){
                swap(mat[i][j], mat[j][i]);
            }
        }
        return mat;
    }
};
全部评论

相关推荐

2024-12-21 10:42
已编辑
江西软件职业技术大学 Java
新宿站不停:该提升学历就提升学历,菜了就多练。没事找牛马公司虐自己是吧? 谁没事说自己“经验少”,这不自己把自己塞剎鼻hr嘴里找🐴吗
点赞 评论 收藏
分享
26牛牛不会梦到感谢信:羡慕离职了还能吃吗现在就赶回去
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务