题目描述:有一个NxN整数矩阵,请编写一个算法,将矩阵顺时针旋转90度。给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转后的NxN矩阵,保证N小于等于300。

示例1
        输入:[[1,2,3],[4,5,6],[7,8,9]],3
        返回值:[[7,4,1],[8,5,2],[9,6,3]]
思路:要求顺时针旋转后的矩阵,设结果矩阵为RES,初始矩阵为mat,则根据图形旋转知识可知,mat顺时针旋转90度后为RES,那么RES逆时针旋转后则为mat,由此出发可求得图片说明 ,k看下图。
图片说明
具体代码如下:

class Solution {
public:
    vector<vector<int> > rotateMatrix(vector<vector<int> > mat, int n) {//围绕中心旋转
        // write code here
        vector<vector<int> > RES;
        for(int i=0;i<n;i++)
        {
            vector<int> res;
            for(int j=0;j<n;j++)
            {
                res.push_back(0);
            }
            RES.push_back(res);
        }
        for(int i=0;i<n;i++)
            for(int j=0;j<n;j++)
                RES[i][j] = mat[n-1-j][i];
        return RES;
    }
};