leetcode 48. 旋转图像【数组】

观察中给出的矩阵,将矩阵转置后,得到的结果与所需要的旋转矩阵每行元素相同,且只需要将每行元素翻转后,便可以得到所需要的旋转结果,因此可以使用两次操作实现矩阵的旋转。

class Solution {
    public void rotate(int[][] matrix) {
    	//将矩阵转置
        for(int i=0; i<matrix.length; i++){
            for(int j=i; j<matrix.length; j++){
                int temp = matrix[i][j];
                matrix[i][j] = matrix[j][i];
                matrix[j][i] = temp; 
            }
        }
		//将矩阵每行元素翻转
        for(int i=0; i<matrix.length; i++){
            for(int j=0; j<matrix.length/2; j++){
                int temp = matrix[i][j];
                matrix[i][j] = matrix[i][matrix.length-1-j];
                matrix[i][matrix.length-1-j]=temp;
            }
        }     
    }
}
发布了55 篇原创文章 · 获赞 0 · 访问量 781

猜你喜欢

转载自blog.csdn.net/er_ving/article/details/104866385
今日推荐