我是靠谱客的博主 乐观高山,最近开发中收集的这篇文章主要介绍48. 旋转图像,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

给定一个 × 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

public class Solution48 {
	public void rotate(int[][] matrix) {
		int row = matrix.length;
		// first find the transpose of the matrix.
		for (int i = 0; i < row; i++) {
			for (int j = i; j < row; j++) {
				int temp = matrix[i][j];
				matrix[i][j] = matrix[j][i];
				matrix[j][i] = temp;
			}
		}
		// reverse each row
		for (int i = 0; i < row; i++) {
			for (int j = 0; j < row / 2; j++) {
				int temp = matrix[i][j];
				matrix[i][j] = matrix[i][row - 1 - j];
				matrix[i][row - 1 - j] = temp;
			}
		}
	}

	public static void main(String[] args) {

		Solution48 s = new Solution48();

		int[][] matrix = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };

		s.rotate(matrix);
	}
}

 

最后

以上就是乐观高山为你收集整理的48. 旋转图像的全部内容,希望文章能够帮你解决48. 旋转图像所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部