题解 | 顺时针旋转矩阵 考验眼力。注意参数传参时的引用符号

顺时针旋转矩阵

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

#include <algorithm>
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param mat int整型vector<vector<>> 
     * @param n int整型 
     * @return int整型vector<vector<>>
     */
    vector<vector<int> > rotateMatrix(vector<vector<int> >& mat, int n) {
        // write code here
        //先转置 再翻转每一行
        if(n==1)return mat;
        //vector<vector<int> > res;
        //转置 只用操作上三角
        for(int i=0;i<n-1;i++){
            for(int j=i;j<n;j++){
                swap(mat[i][j],mat[j][i]);
            }
        }
        for(int i=0;i<n;i++){
            reverse( mat[i].begin(), mat[i].end());
        }
        return mat;
    }
    void swap(int &a,int& b){
            int tmp=a;
            a=b;
            b=tmp;
        }
};

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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