数学方法 01

127 阅读1分钟

LeetCode 48

原题链接

代码如下:

/**
 * 数学方法
 *
 * 顺时针旋转90° == 1、沿主对角线翻转  2、 镜面对称翻转	
 *
 * Code by java
 */

class Solution {
	public void rotate(int[][] matrix) {
		int len = matrix.length;
		for (int i = 0; i < len; i++) {
			for (int j = i; j < len; j++) {
				int temp = matrix[i][j];
				matrix[i][j] = matrix[j][i];
				matrix[j][i] = temp;
			}
		}
		for (int i = 0; i < len; i++) {
			for (int j = 0; j < len >> 1; j++) {
				int temp = matrix[i][j];
				matrix[i][j] = matrix[i][len - 1 - j];
				matrix[i][len - 1 - j] = temp;
			}
		}
	}
}