leetcode:数组之Rotate Image

来源:互联网 发布:万国数据官网 编辑:程序博客网 时间:2024/06/04 18:08

leetcode:数组之Rotate Image

给定一二维数组,将其旋转90度。

例如


C++实现:

#include <iostream>#include <vector>using namespace std;void rotate(vector<vector<int>>& matrix) {    const int n = matrix.size();    for (int i = 0; i < n; ++i) // 沿着副对角线反转         for (int j = 0; j < n - i; ++j)               swap(matrix[i][j], matrix[n - 1 - j][n - 1 - i]);    for (int i = 0; i < n / 2; ++i) // 沿着水平中线反转         for (int j = 0; j < n; ++j)               swap(matrix[i][j], matrix[n - 1 - i][j]);//for (int i = 0; i < n; ++i) // 沿着主对角线反转 //        for (int j = i + 1; j < n; ++j) //              swap(matrix[i][j], matrix[j][i]);}int main(){int m=2,n=2;vector<vector<int>> ivec;ivec.resize(m,vector<int>(n));for(auto i=0;i<m;i++){for(auto j=0;j<n;j++){ivec[i][j]=i*j+i;}}rotate(ivec);for(auto i=0;i <m;i++)     {         for(auto  j=0;j <n;j++)            cout <<ivec[i][j] << "   ";      cout <<endl;     } return 0;}
输出结果:



0 0