leet-code/src/main/java/leetcode/editor/cn/RotateImage.java
2021-07-06 13:58:58 +08:00

81 lines
2.0 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。
//
// 你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。
//
//
//
// 示例 1
//
//
//输入matrix = [[1,2,3],[4,5,6],[7,8,9]]
//输出:[[7,4,1],[8,5,2],[9,6,3]]
//
//
// 示例 2
//
//
//输入matrix = [[5,1,9,11],[2,4,8,10],[13,3,6,7],[15,14,12,16]]
//输出:[[15,13,2,5],[14,3,4,1],[12,6,8,9],[16,7,10,11]]
//
//
// 示例 3
//
//
//输入matrix = [[1]]
//输出:[[1]]
//
//
// 示例 4
//
//
//输入matrix = [[1,2],[3,4]]
//输出:[[3,1],[4,2]]
//
//
//
//
// 提示:
//
//
// matrix.length == n
// matrix[i].length == n
// 1 <= n <= 20
// -1000 <= matrix[i][j] <= 1000
//
// Related Topics 数组 数学 矩阵
// 👍 915 👎 0
package leetcode.editor.cn;
//48:旋转图像
public class RotateImage {
public static void main(String[] args) {
//测试代码
Solution solution = new RotateImage().new Solution();
}
//力扣代码
//leetcode submit region begin(Prohibit modification and deletion)
class Solution {
public void rotate(int[][] matrix) {
int xLength = matrix.length;
int yLength = matrix[0].length;
for (int i = 0; i < xLength - 1; i++) {
for (int j = i + 1; j < yLength; j++) {
int temp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = temp;
}
}
for (int i = 0; i < xLength; i++) {
for (int j = 0; j < yLength / 2; j++) {
int temp = matrix[i][j];
matrix[i][j] = matrix[i][yLength - 1 - j];
matrix[i][yLength - 1 - j] = temp;
}
}
}
}
//leetcode submit region end(Prohibit modification and deletion)
}