zoukankan      html  css  js  c++  java
  • 【leetcode刷题笔记】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?


    题解:

    如果要原地算法的话,就只能用交换实现了。首先把matrix[i][j]和matrix[j][i]交换,然后把整个矩阵左右翻转,如下图所示:

    1 2 3                   1 4 7                      7 4 1

    4 5 6                   2 5 8                      8 5 2

    7 8 9                   3 6 9                      9 6 3

    JAVA代码:

     1 public class Solution {
     2     public void rotate(int[][] matrix) {
     3         int n = matrix.length;
     4         for(int i = 0;i < n;i++){
     5             for(int j = i+1;j < n;j++){
     6                 int temp = matrix[i][j];
     7                 matrix[i][j] = matrix[j][i];
     8                 matrix[j][i] = temp;
     9             }
    10             for(int j = 0;j < n/2;j++){
    11                 int temp = matrix[i][j];
    12                 matrix[i][j] = matrix[i][n-j-1];
    13                 matrix[i][n-j-1] = temp;
    14             }
    15         }
    16     }
    17 }
  • 相关阅读:
    Unity3D 学习笔记
    Python中os和sys模块
    合并两个排序的链表
    反转链表 难
    链表中倒数第k个结点
    调整数组顺序使奇数在偶数前 14
    javascript中this详解
    静态方法实例方法
    强制类型转换
    javascript类型判断方法
  • 原文地址:https://www.cnblogs.com/sunshineatnoon/p/4390452.html
Copyright © 2011-2022 走看看