http://oj.leetcode.com/problems/rotate-image/

将矩阵顺时针旋转90度。要求为原地算法。

注意对输入的测试,矩阵为空,长度为1,为2时……

#include <iostream>
#include <vector>
using namespace std;

class Solution {
public:
    void rotate(vector<vector<int> > &matrix) {
        if(matrix.empty())
            return;
        vector<vector<int> >matrixB;
        vector<int> onePiece;

        int len = matrix[0].size();
        if(len<=1)
        {
            return;
        }
        for(int j = 0;j<len;j++)
        {
            onePiece.clear();
            for(int i = 0;i<len;i++)
            {
                onePiece.push_back(matrix[len-1-i][j]);
            }
            matrixB.push_back(onePiece);
        }
        matrix = matrixB;
    }
};

int main()
{
    Solution myS;
    vector<vector<int> > matrix;
    vector<int> onePiece;
    onePiece.clear();
    onePiece.push_back(1);
    matrix.push_back(onePiece);
    /*onePiece.push_back(2);
    onePiece.push_back(5);
    matrix.push_back(onePiece);
    onePiece.clear();
    onePiece.push_back(3);
    onePiece.push_back(4);
    onePiece.push_back(6);
    matrix.push_back(onePiece);

    onePiece.clear();
    onePiece.push_back(8);
    onePiece.push_back(9);
    onePiece.push_back(10);*/
    //matrix.push_back(onePiece);

    myS.rotate(matrix);
    return 0;
}

原地算法如下:

 

相关文章:

  • 2022-02-03
  • 2022-02-20
  • 2021-07-21
  • 2021-12-26
  • 2021-08-24
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-08-25
  • 2021-12-04
  • 2021-07-04
  • 2021-09-25
  • 2022-02-20
相关资源
相似解决方案