题目:
法一:
想法:借助temp,原地旋转,注意开始终止条件,以及下标变化
代码:
class Solution {
public void rotate(int[][] matrix) {
int n=matrix[0].length;
int top,down,i,j,tempA,tempB,a,b;
top=0;
down=n-1;
while(top 2
tempA=matrix[j][down];
matrix[j][down]=matrix[i][j];
i=j;
j=down;
// 2 -> 3
tempB=matrix[down][down-i+top];
matrix[down][down-i+top]=tempA;
j=down-i+top;
i=down;
// 3 -> 4
tempA=matrix[j][top];
matrix[j][top]=tempB;
i=j;
j=top;
// 4 -> 1
tempB=matrix[top][down-i+top];
matrix[top][down-i+top]=tempA;
j=down-i+top;
i=top;
b++;
}
top++;
down--;
}
}
}
结果:


![leetcode-48 旋转图像 [Java] leetcode-48 旋转图像 [Java]](http://www.mshxw.com/aiimages/31/285639.png)
