LeetCode[48] 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?
复杂度
O(N^2),O(1)
代码
public void rotate(int[][] matrix) {
int n = matrix.length;
for(int layer = 0; layer < n / 2; layer ++) {
int start = layer;
int end = n - 1 - start;
for(int i = start; i < end; i ++) {
int offset = i - start;
int temp = matrix[start][i];
//left to top;
matrix[start][i] = matrix[end - offset][start];
//bottom to left;
matrix[end - offset][start] = matrix[end][end - offset];
//right to bottm;
matrix[end][end - offset] = matrix[i][end];
//top to right;
matrix[i][end] = temp;
}
}
本文介绍了一个LeetCode上的经典算法题——旋转图像的解决方案。该问题要求将一个n×n的二维矩阵(代表一张图片)顺时针旋转90度,并且要求在原地完成这一操作。文章提供了实现这一目标的Java代码示例,通过逐层遍历矩阵的方式进行元素交换,最终达到题目要求。
174

被折叠的 条评论
为什么被折叠?



