

解析:循环 交换 先旋转最外层,再依次向里
class Solution {public void rotate(int[][] matrix) {int tR = 0, tC = 0; //矩阵的左上角元素的坐标int dR = matrix.length - 1, dC = matrix[0].length - 1; //矩阵右下角元素的坐标while (tR <= dR) {int times = dC - tC; //需要循环的次数for (int i = 0; i < times; i++) {int tmp = matrix[tR][tC + i];matrix[tR][tC + i] = matrix[dR - i][tC];matrix[dR - i][tC] = matrix[dR][dC - i];matrix[dR][dC - i] = matrix[tR+i][dC];matrix[tR+i][dC] = tmp;}tR++;tC++;dR--;dC--;}}}
