解题思路:就是顺着来一遍,交换一下数字;
学习的C++内容:vector的个数,还有就是如何做到顺时针转换一圈
class Solution {
public:
void rotate(vector<vector<int>>& matrix) {
if(matrix.size()==0&&matrix.size()!=matrix[0].size()){
return;
}
int num = matrix.size();
int time = 0;
while(time<(num>>1)){
int len = num - (time<<1);
for(int i=0;i<len-1;++i){//先换边角,然后再换第一行的第二还有第一列的第二个...
int temp=matrix[time][time+i];
matrix[time][time+i] = matrix[time+len-i-1][time];
matrix[time+len-i-1][time] = matrix[time+len-1][time+len-i-1];
matrix[time+len-1][time+len-i-1] = matrix[time+i][time+len-1];
matrix[time+i][time+len-1] = temp;
}
++time;
}
}
};
//第二种思路就是先对角转换然后再对称转换