您的位置:首页 > 编程语言 > C#

LeetCode Online Judge 题目C# 练习 - Rotate Image

2012-10-15 22:13 549 查看
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?

public static void RotateImage(List<List<int>> matrix)
{
if (matrix.Count <= 1)
return;

int n = matrix.Count - 1;

Debug.Assert(n == matrix[0].Count);

int temp;
for (int i = 0; i <= n / 2; i++)
{
for (int j = i; j < n - i; j++)
{
temp = matrix[i][j];
matrix[i][j] = matrix[n - j][i];
matrix[n - j][i] = matrix[n - i][n - j];
matrix[n - i][n - j] = matrix[j][n - i];
matrix[j][n - i] = temp;
}
}
}


代码分析:

  没什么好说的,i 是 每次开始的位置,(0,0),(1,1),(2,2)...... j 就是迭代每一行,每一列的元素。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: