LeetCode——Rotate Image

You are given an n x n 2D matrix representing an image.

Rotate the image by 90 degrees (clockwise).

Follow up:
Could you do this in-place?

原题链接:https://oj.leetcode.com/problems/rotate-image/

题目:给定一个n x n的二维矩阵代表一个图像。

将图像顺时针翻转90度。

比如,输入和输出如下:

Input:[[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]]

Expected:[[13,9,5,1],[14,10,6,2],[15,11,7,3],[16,12,8,4]]

通过分析其位置的变化,交换数据。

	public void rotate(int[][] matrix) {
		int len = matrix.length;
		for (int i = 0; i < len / 2; i++) {
			for (int j = i; j < len - i - 1; j++) {
				int tmp = matrix[i][j];
				matrix[i][j] = matrix[len - j - 1][i];
				matrix[len - j - 1][i] = matrix[len - i - 1][len - j - 1];
				matrix[len - i - 1][len - j - 1] = matrix[j][len - i - 1];
				matrix[j][len - i - 1] = tmp;
			}
		}
	}

你可能感兴趣的:(LeetCode)