http://oj.leetcode.com/problems/rotate-image/
// Do it in place is not easy
class Solution {
public:
void rotate(vector<vector<int> > &matrix) {
int size=matrix.size();
for(int i=0;i<(size+1)/2;i++){//***
for(int j=0;j<size/2;j++){//***
int current_i=i, current_j=j;
int next_i, next_j;
int tmp=matrix[current_i][current_j];
for(int k=0;k<3;k++){
next_i=size-current_j-1, next_j=current_i;
matrix[current_i][current_j]=matrix[next_i][next_j];
current_i=next_i;
current_j=next_j;
}
matrix[current_i][current_j]=tmp;
}
}
}
};