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

顺时针旋转矩阵

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

#include <vector>
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;
        }
        //先对矩阵进行转置
        for(int i=0;i<mat.size();i++){
            for (int j=i+1; j<mat[0].size(); j++) {
                int temp =mat[i][j];
                mat[i][j]=mat[j][i];
                mat[j][i]=temp;
            }
        }
        //再把矩阵元素逆序并输出
        vector<vector<int>>result;
        for (int i=0; i<mat.size(); i++) {
            vector<int>temp;
            temp.clear();
            while (!mat[i].empty()) {
                temp.push_back(mat[i].back());
                mat[i].pop_back();
            }
            result.push_back(temp);
        }
        return result;
    }
};

全部评论

相关推荐

大摆哥:刚好要做个聊天软件,直接让你帮他干活了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务