You are given an n x n 2D matrix representing an image.

Rotate the image by 90 degrees (clockwise).

Follow up:
Could you do this in-place?

 

 1 class Solution {
 2 public:
 3     void rotate(vector<vector<int> > &matrix) {
 4         int n=matrix.size();
 5         vector<vector<int> > tmp(n,vector<int> (n));
 6 
 7         for(int i=0;i<n;i++)
 8         {
 9             for(int j=0;j<n;j++)
10                 tmp[j][n-1-i]=matrix[i][j];
11         }
12 
13         for(int i=0;i<n;i++)
14         {
15             for(int j=0;j<n;j++)
16                 cout<<tmp[i][j]<<" ";
17             cout<<endl;
18         }
19     }
20 };

 

posted on 2015-05-01 11:06  黄瓜小肥皂  阅读(135)  评论(0编辑  收藏  举报